亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

IOS 開發之 NSMutableArray與NSArray 的區別

發布時間:2020-08-27 19:18:59 來源:腳本之家 閱讀:137 作者:lqh 欄目:移動開發

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) {

    int

nElements = count - i;

    //
 Seed the random number generator

    srandom(time(NULL));

    int

n = (random() % nElements) + i;

    [tmpAry
 exchangeObjectAtIndex:i withObjectAtIndex:n];

  }

  return

tmpAry;

}

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

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

泾川县| 苍山县| 江华| 托克逊县| 米泉市| 镇巴县| 社旗县| 舒兰市| 东海县| 卓尼县| 齐齐哈尔市| 赞皇县| 梓潼县| 凌源市| 五指山市| 兖州市| 平舆县| 惠水县| 营口市| 宜章县| 扎囊县| 石景山区| 杭州市| 栾川县| 桂阳县| 衡阳市| 遵义县| 雷州市| 合肥市| 依安县| 景宁| 寿光市| 福建省| 安新县| 德保县| 平湖市| 谢通门县| 北流市| 海淀区| 汝城县| 盈江县|