真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

IOS開(kāi)發(fā)之NSMutableArray與NSArray的區(qū)別

IOS 開(kāi)發(fā)之 NSMutableArray與NSArray 的區(qū)別

成都創(chuàng)新互聯(lián)公司的客戶來(lái)自各行各業(yè),為了共同目標(biāo),我們?cè)诠ぷ魃厦芮信浜?,從?chuàng)業(yè)型小企業(yè)到企事業(yè)單位,感謝他們對(duì)我們的要求,感謝他們從不同領(lǐng)域給我們帶來(lái)的挑戰(zhàn),讓我們激情的團(tuán)隊(duì)有機(jī)會(huì)用頭腦與智慧不斷的給客戶帶來(lái)驚喜。專業(yè)領(lǐng)域包括網(wǎng)站設(shè)計(jì)制作、做網(wǎng)站、電商網(wǎng)站開(kāi)發(fā)、微信營(yíng)銷、系統(tǒng)平臺(tái)開(kāi)發(fā)。

首先,來(lái)看下2者的區(qū)別:

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

NSMutableArray是NSArray的子類,NSArray建立靜態(tài)數(shù)組,而NSMutableArray則是動(dòng)態(tài)數(shù)組.換句話說(shuō),NSArray建立之后不可修改,而NSMutableArray則可以修改.

由于在ObjC中,簡(jiǎn)單的看下函數(shù)addObject,會(huì)發(fā)現(xiàn)數(shù)組的元素是id類型,也就是說(shuō)是指針.

-
 (void)addObject:(id)anObject

如此一來(lái)數(shù)組里就不能壓入NSUInteger,BOOL之類的非指針型數(shù)據(jù)了,要命吧..

那要壓入這些內(nèi)容怎么辦呢?對(duì),類型轉(zhuǎn)換,ObjC提供了NSNumber來(lái)給大家轉(zhuǎn)換用,NSNumber本身是個(gè)指針類型變量.

Inherits from NSValue : NSObject

來(lái)個(gè)簡(jiǎn)單的轉(zhuǎn)換例子:

NSUInteger
 count = 1;

NSNumber
 *j = [NSNumber numberWithInt:count];

[ary
 addObject:j];

還算明了吧,就是用到這個(gè)值的時(shí)候又要轉(zhuǎn)換一次,...

昨天剛好又用到數(shù)組的亂序,在網(wǎng)上找了個(gè)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;

}

如有疑問(wèn)請(qǐng)留言或者到本站社區(qū)交流討論,感謝閱讀,希望能幫助到大家,謝謝大家對(duì)本站的支持!


文章標(biāo)題:IOS開(kāi)發(fā)之NSMutableArray與NSArray的區(qū)別
文章路徑:http://weahome.cn/article/ppgoio.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部