日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

OC特有语法:分类category,给NSString增加方法计算字符串中数字的个数

發布時間:2024/10/12 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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增加方法计算字符串中数字的个数的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。