OC特有语法:分类category,给NSString增加方法计算字符串中数字的个数
生活随笔
收集整理的這篇文章主要介紹了
OC特有语法:分类category,给NSString增加方法计算字符串中数字的个数
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1:分類的使用場景:想對一個類,擴充一些功能,而又不改變原來類的模型,也不用繼承,這時OC中的特有語法:分類可以做到;
當然分類也是一個類,也需要聲明和實現,聲明在.h文件中,實現在.m文件中,格式如下
// 聲明
@interface ?類名 ?(分類名稱)
@end
// 實現
@implementation 類名 (分類名稱)
@end
2:分類的好處,當一個類比較龐大時,不同的部分可以放到不同的分類中,也方便團隊中類的開發;
3:分類使用注意:
a:分類不能增加成員變量,只能對原類增加方法;
b:分類方法實現中,可以訪問原來類的成員變量;
c:分類可以寫和類同名的方法,但是這樣會覆蓋掉原來類的方法,導致永遠訪問不到原來的類的方法,所以不建議這么做;
調用順序:分類——找不到方法時去——>原來類——找不到方法時去——>父類;可見分類的調用優先級最高;
d:當一個類有單個分類時,且每個分類都由同名方法,調用順序和編譯的順序有關,最后編譯的方法會覆蓋先編譯的方法,所以最后編譯的會被調用;
?
?
?
分類的應用:給NSString增加方法,計算一個字符串中數字的個數;
// 在NSString+intSum.h文件中 // 對NSString類添加一個類方法和對象方法,計算字符串中整數的個數; #import <Foundation/Foundation.h>@interface NSString (intSum)//對NSString類添加一個類方法,計算字符串中整數的個數,聲明 + (int)intSum:(NSString *)str;// 對象方法的聲明 - (int)intCount;@end// 在NSString+intSum.m文件中 @implementation NSString (intSum)// 類方法的實現 + (int)intSum:(NSString *)str {int count = 0;for (int i = 0; i<str.length; i++) {int temp = [str characterAtIndex:i];if (temp > '0' && temp < '9') {count++;}}return count; }// 對象方法的實現,只需調用類方法就可以了; - (int)intCount {return [NSString intSum:self]; }@end// 在main中測試int main() {int sum = [NSString intSum:@"234df56"]; // 調用類方法int count = [@"234sd454545" intCount]; // 調用對象方法 NSLog(@"sum=%d, count=%d", sum, count);return 0; }?
?
轉載于:https://www.cnblogs.com/cxbblog/p/3721288.html
總結
以上是生活随笔為你收集整理的OC特有语法:分类category,给NSString增加方法计算字符串中数字的个数的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 中国银行银行卡怎么查余额
- 下一篇: BZOJ3577 : 玩手机