日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

Objective-C語(yǔ)法之?dāng)?shù)組對(duì)象的那些事兒(七)

系統(tǒng) 2087 0
Objective-C語(yǔ)法之?dāng)?shù)組對(duì)象的那些事兒



使用數(shù)組對(duì)象創(chuàng)建的數(shù)組功能非常強(qiáng)大,在Java語(yǔ)言或者C語(yǔ)言中定義的數(shù)組必須滿足數(shù)組中的每一個(gè)元素必須是同樣的類型。而Objective-C語(yǔ)言可以在Array數(shù)組中放任意類型的數(shù)據(jù),值得注意的是只能放指向這個(gè)對(duì)象的指針,如果直接放int ,char,double 等等,是不行的.



1.不可變數(shù)組對(duì)象

使用NSArray關(guān)鍵字創(chuàng)建一個(gè)不可變的數(shù)組,一旦初始化完畢后這個(gè)數(shù)組的元素是不可以在動(dòng)態(tài)的添加與刪除。
創(chuàng)建MyClass對(duì)象,將指向這個(gè)對(duì)象的指針也可以存入NSArray數(shù)組中,可見(jiàn)NSArray對(duì)象數(shù)組中可以儲(chǔ)存任意對(duì)象的數(shù)據(jù)。

[array count] : 得到這個(gè)對(duì)象數(shù)組的長(zhǎng)度。
[array objectAtIndex 0]: 傳入數(shù)組腳標(biāo)的id 得到數(shù)據(jù)對(duì)象。
[arrayWithObjects; ...] :向數(shù)組對(duì)象初始化賦值。這里可以寫任意對(duì)象的指針,結(jié)尾必須使用nil。標(biāo)志結(jié)束~


使用for循環(huán)遍歷這個(gè)數(shù)組對(duì)象。


















上面的for循環(huán)遍歷方法比較普遍,但是效率不好,而且安全性不高。Objective-C 提供了一種快速枚舉遍歷方法,推薦大家都使用這種方法來(lái)遍歷。

for(NSObject *object in array) : 遍歷array這個(gè)數(shù)組,每一次循環(huán)將數(shù)組中的元素賦值給 *object ,實(shí)現(xiàn)循環(huán)遍歷。












2.可變數(shù)組對(duì)象


[NSMutableArray arrayWithCapacity:10] :初始化可變數(shù)組對(duì)象的長(zhǎng)度,如果后面代碼繼續(xù)添加數(shù)組超過(guò)長(zhǎng)度10以后 NSMutableArray的長(zhǎng)度會(huì)自動(dòng)擴(kuò)充,所以不用擔(dān)心數(shù)組越界。
[array addObject:...] : 向可變數(shù)組尾部添加數(shù)據(jù)對(duì)象。
[array addObjectsFromArray:..] :向可變數(shù)組尾部添加一個(gè)數(shù)組對(duì)象。 *)#>];











[array insertObject:@"插入一只小老虎" atIndex:1] :向可變數(shù)組中插入一個(gè)字符串對(duì)象,并且設(shè)定它的位置腳標(biāo)索引為 1。
[array insertObject:(NSArray *) atIndex:(NSIndexSet *)] : 向可變數(shù)組中插入一個(gè)數(shù)組對(duì)象,可以任意設(shè)置它的位置腳標(biāo)索引。










NSRange range = NSMakeRange(0,5); 設(shè)置一個(gè)范圍為 0 到 5 之間。
[array removeObject:myClass inRange:range] : 設(shè)置在一個(gè)范圍內(nèi)刪除數(shù)據(jù),如果這個(gè)范圍內(nèi)沒(méi)有刪除的這個(gè)對(duì)象則不會(huì)刪除任何東西。例子中因?yàn)閙yClass對(duì)象在 數(shù)組 0 到 5的范圍內(nèi),所以myClass就被刪除掉了。

[array removeObject:(id)] :無(wú)需考慮范圍,主要數(shù)組中存在這個(gè)對(duì)象就會(huì)直接被刪除。
[array removeObjectAtIndex:(NSUInteger)]:刪除數(shù)組中指定腳標(biāo)索引的數(shù)據(jù)。

[array removeObjectIdenticalTo:(id)] : 刪除數(shù)組中指定元素
[array removeObjectIdenticalTo:(id) inRange:(NSRange)] : 在指定范圍內(nèi)刪除指定的元素。

[array removeObjectsInArray:(NSArray *)] :刪除一個(gè)數(shù)組的元素。










[array replaceObjectAtIndex 2 withObject:@"已經(jīng)修改了"]:替換數(shù)組腳標(biāo)為2的數(shù)據(jù)。










感覺(jué)Objective-C 的對(duì)象數(shù)組真的很給力,善用數(shù)組對(duì)象處理數(shù)據(jù)也是個(gè)不錯(cuò)的選擇噢 ,嘻嘻~~




Objective-C語(yǔ)法之?dāng)?shù)組對(duì)象的那些事兒(七)


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號(hào)聯(lián)系: 360901061

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對(duì)您有幫助就好】

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長(zhǎng)會(huì)非常 感謝您的哦!!!

發(fā)表我的評(píng)論
最新評(píng)論 總共0條評(píng)論
主站蜘蛛池模板: 固阳县| 博白县| 海门市| 铁岭市| 平乐县| 赣州市| 绵竹市| 长宁区| 台州市| 钟祥市| 泉州市| 资中县| 左权县| 海淀区| 南乐县| 泸溪县| 洞头县| 龙井市| 黄梅县| 安塞县| 抚顺县| 恩施市| 漳州市| 哈密市| 雷山县| 呼图壁县| 普兰县| 闵行区| 贵溪市| 象山县| 柯坪县| 华宁县| 如皋市| 呼图壁县| 临高县| 西峡县| 策勒县| 新龙县| 灵川县| 云安县| 潼关县|