国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > iOS > 正文

IOS 開發之 NSMutableArray與NSArray 的區別

2019-10-21 18:44:56
字體:
來源:轉載
供稿:網友

IOS 開發之 NSMutableArray與NSArray 的區別

首先,來看下2者的區別:

NSArray and its subclass NSMutableArray manage collections of objects called arrays. NSArray creates static arrays, and NSMutableArray creates dynamic arrays.

NSMutableArray是NSArray的子類,NSArray建立靜態數組,而NSMutableArray則是動態數組.換句話說,NSArray建立之后不可修改,而NSMutableArray則可以修改.

由于在ObjC中,簡單的看下函數addObject,會發現數組的元素是id類型,也就是說是指針.

- (void)addObject:(id)anObject

如此一來數組里就不能壓入NSUInteger,BOOL之類的非指針型數據了,要命吧..

那要壓入這些內容怎么辦呢?對,類型轉換,ObjC提供了NSNumber來給大家轉換用,NSNumber本身是個指針類型變量.

Inherits from NSValue : NSObject

來個簡單的轉換例子:

NSUInteger count = 1;NSNumber *j = [NSNumber numberWithInt:count];[ary addObject:j];

還算明了吧,就是用到這個值的時候又要轉換一次,...

昨天剛好又用到數組的亂序,在網上找了個Sample修改了下,代碼如下:

#pragma mark -#pragma mark (NSMutableArray *)randArray:(NSMutableArray *)ary- (NSMutableArray *)randArray:(NSMutableArray *)ary{  NSMutableArray *tmpAry = [NSMutableArray arrayWithArray:ary];  NSUInteger count = [ary count];  for(NSUInteger i = 0; i < count; ++i) {    intnElements = count - i;    // Seed the random number generator    srandom(time(NULL));    intn = (random() % nElements) + i;    [tmpAry exchangeObjectAtIndex:i withObjectAtIndex:n];  }  returntmpAry;}

如有疑問請留言或者到本站社區交流討論,感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!


注:相關教程知識閱讀請移步到IOS開發頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 新野县| 友谊县| 苍溪县| 礼泉县| 崇义县| 玉树县| 临桂县| 天门市| 蛟河市| 藁城市| 醴陵市| 阜新| 长春市| 广丰县| 铅山县| 珲春市| 黄平县| 桃源县| 林西县| 六盘水市| 虎林市| 平安县| 陵川县| 得荣县| 年辖:市辖区| 彝良县| 铜梁县| 镇原县| 黄龙县| 顺义区| 泌阳县| 天柱县| 肥乡县| 巴楚县| 敦化市| 蓝山县| 阳谷县| 永靖县| 五原县| 兴化市| 边坝县|