iOS 開(kāi)發(fā) OC基礎(chǔ)篇之常用對(duì)象


iOS開(kāi)發(fā)中,如果能了解OC對(duì)象的特性,合理的使用適合的對(duì)象,會(huì)很大程度簡(jiǎn)化代碼的復(fù)雜度和代碼量。

OC對(duì)象就是一個(gè)個(gè)類(lèi),最常用的是NSArray,NSMutableArray,NString,NSutableString,NSDictionary,NSMutableDictionary。根據(jù)類(lèi)名,就可以知道該類(lèi)是什么類(lèi)型的。下面給大家簡(jiǎn)單介紹一下這些OC對(duì)象,但不會(huì)太深入的講解對(duì)象的使用方法,自己去看API會(huì)更有效果。

首先是NString,NSutableString。它們都是字符串對(duì)象。區(qū)別是前者是不可變的,后者是可變的。NSString不是表示這個(gè)對(duì)象聲明的變量的值不可變,而是表示它初始化以后,你不能改變?cè)撟兞克峙涞膬?nèi)存中的值,但你可以重新分配該變量所處的內(nèi)存空間。舉個(gè)例子:

NSString * str = @"lee is a loner.";

str初始化成功,你不可以更改@"lee is a loner."但你可以做如下操作:

str = @"lee was going die alone."

這樣是沒(méi)錯(cuò)的。

NSString是很強(qiáng)大的,它對(duì)字符串的處理比C語(yǔ)言的處理簡(jiǎn)便的多。因?yàn)樗且粋€(gè)類(lèi),蘋(píng)果給我們封裝了好多實(shí)用的方法,比如:把一個(gè)字符串添加到另一個(gè)字符串的末尾,統(tǒng)計(jì)字符串的個(gè)數(shù),判斷兩個(gè)字符串是否相等,截取指定的字符串等。

NSutableString是一個(gè)可變字符串,意味著你可以追加它的內(nèi)存空間,或者修改它所分配的內(nèi)存空間中的值。它是NSString的子類(lèi),所以NSString的方法它也有。它比NSString多了增刪改查等功能,具體的方法實(shí)現(xiàn)請(qǐng)查閱API。

接著說(shuō)說(shuō)NSArray,NSMutableArray,它們是數(shù)組對(duì)象,字面區(qū)別同上,但是OC的數(shù)組只能存取對(duì)象,所以基本數(shù)據(jù)類(lèi)型是不可以存到數(shù)組里面的,要想存基本數(shù)據(jù)類(lèi)型的 可以轉(zhuǎn)成NSNumber或NSString。數(shù)組對(duì)象也不能存nil,因?yàn)閚il在數(shù)組中是作為結(jié)束標(biāo)志的。使用方法自行查找API。

最后說(shuō)說(shuō)NSDictionary,NSMutableDictionary,他們是字典對(duì)象,字面區(qū)別同上。字典是key-value一個(gè)形式的集合,它是無(wú)序的,意思是對(duì)一個(gè)字典全部輸出的順序可能不一樣,當(dāng)然也沒(méi)辦法對(duì)字典進(jìn)行位置索引什么的。字典是一個(gè)多對(duì)一的集合,只能存在一個(gè)value。此外,字典和數(shù)組一樣,只能存取對(duì)象。關(guān)于字典的一些方法自行查找API。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容

  • Foundation框架中最常用的類(lèi)。 Foundation框架中最我們經(jīng)常用的類(lèi)大致有NSString、NSAr...
    xx_cc閱讀 4,949評(píng)論 8 19
  • 前言:面試筆試都是必考語(yǔ)法知識(shí)點(diǎn)。請(qǐng)認(rèn)真復(fù)習(xí)和深入研究OC。 目錄:iOS-面試題-OC基礎(chǔ)篇 (1) - (84...
    麥穗0615閱讀 4,276評(píng)論 0 33
  • 下面是我最近兩年學(xué)習(xí)OC中的一些基礎(chǔ)知識(shí),對(duì)于學(xué)習(xí)OC基礎(chǔ)知識(shí)的人可能有些幫助,拿出來(lái)分享一下,還是那句話不喜勿噴...
    小小趙紙農(nóng)閱讀 2,662評(píng)論 1 7
  • 在大頭老師的公眾號(hào)中得知此書(shū),適逢我在英語(yǔ)學(xué)習(xí)上有些迷茫,就找來(lái)看了。考拉小巫在書(shū)中以時(shí)間順序?qū)⒆约鹤哌^(guò)的26年...
    小森林w閱讀 336評(píng)論 0 1
  • 自述: 我是帝天宇,名稱(chēng)由來(lái),原來(lái)我的網(wǎng)名叫帝,覺(jué)得皇帝挺霸氣的,后來(lái)經(jīng)常被人叫小帝帝,瞬間淚崩,再后來(lái)改名叫天宇...
    帝天宇閱讀 2,160評(píng)論 92 105