突破Objective-C開發(fā)速學(xué)手冊(cè)之Foundation框架的基本對(duì)象_第1頁
突破Objective-C開發(fā)速學(xué)手冊(cè)之Foundation框架的基本對(duì)象_第2頁
突破Objective-C開發(fā)速學(xué)手冊(cè)之Foundation框架的基本對(duì)象_第3頁
突破Objective-C開發(fā)速學(xué)手冊(cè)之Foundation框架的基本對(duì)象_第4頁
突破Objective-C開發(fā)速學(xué)手冊(cè)之Foundation框架的基本對(duì)象_第5頁
已閱讀5頁,還剩110頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、第10章 Foundation框架的基本對(duì)象在Objective-C中的程序編寫主要用到2個(gè)框架Foundation和ApplicationKit。其中Foundation框架主要定義了一些基礎(chǔ)類,供程序員來使用。Foundation框架中的所有類都繼承自NSObject這個(gè)對(duì)象。本章主要講解Foundation的基本對(duì)象。12021/3/1710.1 數(shù)字對(duì)象Foundation框架中所提到的數(shù)字類型,可以通過使用NS數(shù)字類型將基本的數(shù)據(jù)類型封裝到對(duì)象中,然后對(duì)相應(yīng)的對(duì)象進(jìn)行操作。本節(jié)主要講解數(shù)字對(duì)象的定義形式和適應(yīng)方法。22021/3/1710.1.1 數(shù)字對(duì)象的介紹Foundation框

2、架中提供了NSNumber對(duì)基本的數(shù)據(jù)類型進(jìn)行封裝。通過調(diào)用數(shù)字對(duì)象的類方法和對(duì)象方法,將基本的數(shù)據(jù)類型轉(zhuǎn)化為數(shù)字對(duì)象。32021/3/1710.1.1 數(shù)字對(duì)象的介紹類型類型說明說明charchar字符型對(duì)象UnsignedCharUnsignedChar無符號(hào)字符型對(duì)象ShortShort短整型對(duì)象UnsignedShortUnsignedShort無符號(hào)短整型對(duì)象IntegerInteger整型對(duì)象UnsignedIntegerUnsignedInteger無符號(hào)整型類型對(duì)象intint整型對(duì)象UnsignedIntUnsignedInt無符號(hào)整型對(duì)象LongLong長整型對(duì)象Unsig

3、nedLongUnsignedLong無符號(hào)長整型對(duì)象LongLongLongLong長長整型對(duì)象UnsignedLongLongUnsignedLongLong無符號(hào)長長整型對(duì)象floatfloat浮點(diǎn)型對(duì)象doubledouble雙精度型對(duì)象BoolBool布爾型對(duì)象42021/3/1710.1.2 數(shù)字對(duì)象的使用我們對(duì)數(shù)字對(duì)象有了一定的了解以后,我們來了解數(shù)字對(duì)象的在各方法中的使用。52021/3/171.數(shù)字對(duì)象的聲明數(shù)字對(duì)象聲明的形式。62021/3/171.數(shù)字對(duì)象的聲明72021/3/172.數(shù)字對(duì)象的創(chuàng)建并初始化創(chuàng)建和初始化的形式。82021/3/172.數(shù)字對(duì)象的創(chuàng)建并初始化

4、名稱名稱創(chuàng)建和初始化類方法創(chuàng)建和初始化類方法字符型對(duì)象的創(chuàng)建和初始化字符型對(duì)象的創(chuàng)建和初始化numberWithChar:無符號(hào)字符型對(duì)象的創(chuàng)建和初始化無符號(hào)字符型對(duì)象的創(chuàng)建和初始化numberWithUnsignedChar:短整型對(duì)象的創(chuàng)建和初始化短整型對(duì)象的創(chuàng)建和初始化numberWithShort:無符號(hào)短整型對(duì)象的創(chuàng)建和初始化無符號(hào)短整型對(duì)象的創(chuàng)建和初始化numberWithUnsignedShort:整型對(duì)象的創(chuàng)建和初始化整型對(duì)象的創(chuàng)建和初始化numberWithInteger:無符號(hào)整型對(duì)象的創(chuàng)建和初始化無符號(hào)整型對(duì)象的創(chuàng)建和初始化numberWithUnsignedIntege

5、r:整型對(duì)象的創(chuàng)建和初始化整型對(duì)象的創(chuàng)建和初始化numberWithInt:initWithInt:無符號(hào)整型對(duì)象的創(chuàng)建和初始化無符號(hào)整型對(duì)象的創(chuàng)建和初始化numberWithunsignedInt:長整型對(duì)象的創(chuàng)建和初始化長整型對(duì)象的創(chuàng)建和初始化numberWithLong:無符號(hào)長整型對(duì)象的創(chuàng)建和初始化無符號(hào)長整型對(duì)象的創(chuàng)建和初始化numberWithUnsignedLong:長長整型對(duì)象的創(chuàng)建和初始化長長整型對(duì)象的創(chuàng)建和初始化numberWithLongLong:無符號(hào)長長整型對(duì)象的創(chuàng)建和初始化無符號(hào)長長整型對(duì)象的創(chuàng)建和初始化numberWithUnsignedLongLong:浮點(diǎn)型對(duì)

6、象的創(chuàng)建和初始化浮點(diǎn)型對(duì)象的創(chuàng)建和初始化numberwithFloat:雙精度浮點(diǎn)型對(duì)象的創(chuàng)建和初始化雙精度浮點(diǎn)型對(duì)象的創(chuàng)建和初始化numberWitnDouble:布爾型對(duì)象的創(chuàng)建和初始化布爾型對(duì)象的創(chuàng)建和初始化numberWithBool:92021/3/172.數(shù)字對(duì)象的創(chuàng)建并初始化102021/3/172.數(shù)字對(duì)象的創(chuàng)建并初始化112021/3/172.數(shù)字對(duì)象的創(chuàng)建并初始化122021/3/172.數(shù)字對(duì)象的創(chuàng)建并初始化132021/3/173.數(shù)字對(duì)象的初始化初始化的方法。142021/3/173.數(shù)字對(duì)象的初始化名稱名稱初始化示例方法初始化示例方法字符型對(duì)象的初始化字符型對(duì)象的初

7、始化initWithChar無符號(hào)字符型對(duì)象的初始化無符號(hào)字符型對(duì)象的初始化initWithUnsignedChar短整型對(duì)象的初始化短整型對(duì)象的初始化initWithShort無符號(hào)短整型對(duì)象的初始化無符號(hào)短整型對(duì)象的初始化initWithUnsignedShort整型對(duì)象的初始化整型對(duì)象的初始化initWithInteger無符號(hào)整型對(duì)象的初始化無符號(hào)整型對(duì)象的初始化initWithUnsignedInteger整型對(duì)象的初始化整型對(duì)象的初始化initWithInt無符號(hào)整型對(duì)象的初始化無符號(hào)整型對(duì)象的初始化initWithUnsignedInt長整型對(duì)象的初始化長整型對(duì)象的初始化init

8、WithLong無符號(hào)長整型對(duì)象的初始化無符號(hào)長整型對(duì)象的初始化initWithUnsignedLong長長整型對(duì)象的初始化長長整型對(duì)象的初始化initWithLongLong無符號(hào)長長整型對(duì)象的初始化無符號(hào)長長整型對(duì)象的初始化initWithUnsignedLongLong浮點(diǎn)型對(duì)象的初始化浮點(diǎn)型對(duì)象的初始化initWithFloat雙精度浮點(diǎn)型對(duì)象的初始化雙精度浮點(diǎn)型對(duì)象的初始化initWithDouble布爾型對(duì)象的初始化布爾型對(duì)象的初始化initWithBool152021/3/173.數(shù)字對(duì)象的初始化162021/3/174.數(shù)字對(duì)象的取值取值方法的表示形式。172021/3/174

9、.數(shù)字對(duì)象的取值名稱名稱取值實(shí)例方法取值實(shí)例方法字符型對(duì)象的取值字符型對(duì)象的取值charValue無符號(hào)字符型對(duì)象的取值無符號(hào)字符型對(duì)象的取值unsignedCharValue短整型對(duì)象的取值短整型對(duì)象的取值short Value無符號(hào)短整型對(duì)象的取值無符號(hào)短整型對(duì)象的取值unsignedShortValue整型對(duì)象的取值整型對(duì)象的取值integerValue無符號(hào)整型對(duì)象的取值無符號(hào)整型對(duì)象的取值unsignedIntegerValue整型對(duì)象的取值整型對(duì)象的取值intValueunsigned無符號(hào)整型對(duì)象的取值無符號(hào)整型對(duì)象的取值unsignedIntValue長整型對(duì)象的取值長整型對(duì)象

10、的取值longValue無符號(hào)長整型對(duì)象的取值無符號(hào)長整型對(duì)象的取值UnsignedLongValue長長整型對(duì)象的取值長長整型對(duì)象的取值longlongValue無符號(hào)長長整型對(duì)象的取值無符號(hào)長長整型對(duì)象的取值unsignedLongLongValue浮點(diǎn)型對(duì)象的取值浮點(diǎn)型對(duì)象的取值floatValue雙精度浮點(diǎn)型對(duì)象的取值雙精度浮點(diǎn)型對(duì)象的取值doubleValue布爾型對(duì)象的取值布爾型對(duì)象的取值boolValue182021/3/174.數(shù)字對(duì)象的取值192021/3/1710.2 字符串對(duì)象Foundation框架中所提到的字符串類型,可以通過使用NS字符串類型將基本的字符串封裝到對(duì)象

11、中。然后對(duì)相應(yīng)的對(duì)象進(jìn)行操作。字符串對(duì)象可以分為可修改和不可修改兩類。本節(jié)將主要講解字符串對(duì)象的使用。202021/3/1710.2.1 字符串和字符的區(qū)別字符串常量和字符常量是不同的常量,它們之間的區(qū)別如下。212021/3/171組成格式字符常量是由單引號(hào)括起來的,字符串常量使用符號(hào)和雙引號(hào)括起來。222021/3/172.字符的多少字符常量只能是單個(gè)字符,字符串常量可以是單個(gè)或多個(gè)字符。232021/3/173.占用的內(nèi)存空間字符常量占一個(gè)字節(jié)的內(nèi)存空間。字符串常量占的內(nèi)存字節(jié)數(shù)為字符串的字節(jié)數(shù)加1,其中加的一個(gè)字節(jié)中存放字符0即結(jié)束標(biāo)志。242021/3/1710.2.2 不可修改的字

12、符串在Objective-C使用NSString類來操作字符串。在對(duì)字符串使用之前,我們要將字符串的頭文件加入代碼中。252021/3/1710.2.2 不可修改的字符串262021/3/1710.2.2 不可修改的字符串272021/3/1710.2.2 不可修改的字符串282021/3/1710.2.2 不可修改的字符串292021/3/1710.2.2 不可修改的字符串302021/3/171.stringWithStringstringWithString的功能是用一個(gè)字符串對(duì)象來創(chuàng)建另一個(gè)字符串對(duì)象。312021/3/172.stringWithFormatstringWithFor

13、mat功能是用NSLog()格式創(chuàng)建字符串。322021/3/173.stringByAppendingStringstringByAppendingString的功能是在一個(gè)字符串后面增加一個(gè)新字符串。332021/3/174.字符串的比較和判斷isEqualToString的功能是比較兩個(gè)字符串是否相等。342021/3/174.字符串的比較和判斷352021/3/175.字符串的大小寫轉(zhuǎn)換uppercaseString的功能是將小寫字母轉(zhuǎn)為大寫字母。362021/3/175.字符串的大小寫轉(zhuǎn)換372021/3/176.substringToIndexsubstringToIndex主要的

14、功能是截取字符串。382021/3/176.substringToIndex方法方法說明說明+(id)stringWithContentsOf encoding:enc +(id)stringWithContentsOf encoding:enc error errerror err創(chuàng)建一個(gè)新字符串并將其設(shè)置為path指定的文件的內(nèi)容,使用字符編碼enc,在err上返回錯(cuò)誤+(id)stringWithContentsOfURL:url+(id)stringWithContentsOfURL:urlencoding:enc error:errencoding:enc error:err創(chuàng)建一個(gè)

15、新字符串,并將其設(shè)置為url所指定的內(nèi)容,使用字符編碼enc,在err上返回錯(cuò)誤+(id)string+(id)string創(chuàng)建一個(gè)新的空字符串-(id)initWithString:nsstring-(id)initWithString:nsstring創(chuàng)建一個(gè)新的空字符串,并將其內(nèi)容設(shè)置設(shè)置為nsstring內(nèi)容(id)initWithContentsOf encoding:enc (id)initWithContentsOf encoding:enc error:errerror:err將字符串設(shè)置為path指定的文件的內(nèi)容-(id)initWithContentsOfURL:url-(

16、id)initWithContentsOfURL:urlencoding:enc error:errencoding:enc error:err將字符串設(shè)置為url所指定的內(nèi)容,使用enc字符編碼,在err上返回錯(cuò)誤-(UNSIgned int)length-(UNSIgned int)length返回字符串中的字符數(shù)目-(unichar)characterAtIndex:i-(unichar)characterAtIndex:i返回索引i雖在的Unicode字符-(NSString -(NSString * *)substringFromIndex:i)substringFromIndex:

17、i返回從i開始到結(jié)尾的子字符串-(NSString -(NSString * *)substringWithRange:range)substringWithRange:range根據(jù)指定范圍返回子字符串-(NSString -(NSString * *)substribgToIndex:i)substribgToIndex:i返回從字符串開始位置到i的子字符串-(NSComparator -(NSComparator * *)caseInsensitiveCompare:nsstring)caseInsensitiveCompare:nsstring比較兩個(gè)字符串(忽略大小寫)-(NSCom

18、parator -(NSComparator * *)Compare:nsstring)Compare:nsstring比較兩個(gè)字符串的大小-(BOOL)hasPrefix:nsstring-(BOOL)hasPrefix:nsstring測試字符串是否以nsstring開始-(BOOL)hasSuffix:nsstring-(BOOL)hasSuffix:nsstring測試字符串是否以nsstring結(jié)尾-(BOOL)isEqualToString:nsstring-(BOOL)isEqualToString:nsstring測試兩個(gè)字符串是否相等-(NSString -(NSString

19、 * *)caoitalizedString)caoitalizedString返回字符串,串中的每個(gè)單詞的首字母大寫,其余字母小寫-(NSString -(NSString * *)lowercaseString)lowercaseString返回轉(zhuǎn)換為小寫的字符串-(NSString)uppercaseString-(NSString)uppercaseString返回轉(zhuǎn)換為大寫的字符串-(const char -(const char * *)UTF8String)UTF8String返回UTF8編碼格式的字符串-(double)doubleValue-(double)doubleVal

20、ue返回轉(zhuǎn)換為double類型的字符串-(float)floatValue-(float)floatValue返回轉(zhuǎn)換為float類型的字符串-(NSInteger)integerValue-(NSInteger)integerValue返回轉(zhuǎn)換為NSInteger類型的字符串-(int)intValue-(int)intValue返回轉(zhuǎn)換為int類型的字符串392021/3/1710.2.3 可修改的字符串使用NS字符串NSString的時(shí)候。字符串對(duì)象是不可以進(jìn)行任何修改的。如果需要對(duì)字符串對(duì)象進(jìn)行插入、刪除或者其他的操作時(shí),就需要使用NS可變的字符串NSMutableString。NSM

21、utableString是NSString的子類。所以NSMutableString繼承了NSString的所有類方法和對(duì)象方法。402021/3/1710.2.3 可修改的字符串412021/3/1710.2.3 可修改的字符串422021/3/171.appendStringappendString的功能是將一個(gè)字符串的末尾附加一個(gè)字符串。432021/3/172.appendFormatappendFormat的功能是附加一個(gè)格式化字符串。它的使用使用形式如圖10.44所示。442021/3/172.appendFormat方法方法功能功能+(id)stringWithCapacity:

22、size+(id)stringWithCapacity:size創(chuàng)建一個(gè)字符串,size個(gè)字符容量-(id)initWithCapacity:size-(id)initWithCapacity:size初始化一個(gè)字符串。size個(gè)字符容量-(void)setString:nsstring-(void)setString:nsstring將字符串設(shè)置為nsstring-(void)appendString:nsstring-(void)appendString:nsstring在一個(gè)字符串末尾附加一個(gè)字符串nsstring- -(void)deleteCharactersInRange:rang

23、(void)deleteCharactersInRange:range e刪除指定rang中的字符-(void)insertString:nsstring -(void)insertString:nsstring aTIndex:iaTIndex:i以i為起始位置插入nsstring- -(void)replaceCharactersInRange:ran(void)replaceCharactersInRange:rang gwithString:nsstringwithString:nsstring使用nsstring代替range指定的字符串- -(void)replaceOccurre

24、ncesOfString:n(void)replaceOccurrencesOfString:nsstringsstringwithString:nsstring2 Options:ops withString:nsstring2 Options:ops range:rangerange:range根據(jù)指定選項(xiàng)opts,使用指定range中的nsstring2替換所有的nsstring452021/3/1710.3 數(shù)組對(duì)象在程序設(shè)計(jì)中數(shù)組是使用非常頻繁的。Foundation框架提供了NS數(shù)組類型,NS數(shù)組類型包括可修改的和不可修改的數(shù)組兩類,只能存放相關(guān)的對(duì)象類型,提供了基本的數(shù)組操作方法

25、,對(duì)數(shù)組的相關(guān)操作進(jìn)行了封裝。本節(jié)主要講解數(shù)組對(duì)象的相關(guān)操作。462021/3/1710.3.1 數(shù)組的定義在程序設(shè)計(jì)的過程中,經(jīng)常會(huì)處理一些數(shù)據(jù)類型相同的變量,為了方便,Objective-C提供了數(shù)組這一結(jié)構(gòu)。472021/3/1710.3.2 數(shù)組的聲明數(shù)組的聲明和變量的聲明類似。482021/3/1710.3.2 數(shù)組的聲明492021/3/1710.3.2 數(shù)組的聲明502021/3/1710.3.2 數(shù)組的聲明512021/3/1710.3.2 數(shù)組的聲明522021/3/171.數(shù)組大小若對(duì)數(shù)組中的所有元素都賦予了初始值,可以不用指定數(shù)組的大小,系統(tǒng)將自動(dòng)根據(jù)賦值的個(gè)數(shù)來確定數(shù)組

26、的大小。532021/3/172.部分元素初始化若只對(duì)數(shù)組中的部分元素賦予初始值,則系統(tǒng)會(huì)自動(dòng)為其他元素賦初始值0。542021/3/173.不初始化若只聲明數(shù)組,而不為數(shù)組賦值,則數(shù)組中的元素值是不確定的。552021/3/174.數(shù)組元素的大小數(shù)組的大小只能是常量,而不能使用變量。562021/3/1710.3.3 數(shù)組的引用在Objective-C語言中,一維數(shù)組的引用其實(shí)就是對(duì)一維數(shù)組元素的使用。572021/3/1710.3.3 數(shù)組的引用582021/3/1710.3.4 二維數(shù)組的聲明和定義二維數(shù)組有兩個(gè)下標(biāo)。二維數(shù)組中的元素和一維數(shù)組中的元素一樣,具有同樣的數(shù)據(jù)類型。59202

27、1/3/1710.3.4 二維數(shù)組的聲明和定義602021/3/1710.3.5 二維數(shù)組初始化的方法二維數(shù)組初始化的形式時(shí)多種多樣,接下來就常用的幾種形式給大家做一簡單的講解。612021/3/1710.3.5 二維數(shù)組初始化的方法622021/3/1710.3.5 二維數(shù)組初始化的方法632021/3/1710.3.5 二維數(shù)組初始化的方法642021/3/1710.3.6 二維數(shù)組的引用二維數(shù)組的引用形式。652021/3/1710.3.6 二維數(shù)組的引用662021/3/1710.3.7 字符數(shù)組的含義字符數(shù)組的含義。672021/3/1710.3.7 字符數(shù)組的含義682021/3/

28、1710.3.8 字符數(shù)組初始化字符數(shù)組初始化分為兩種,一種是逐個(gè)給字符數(shù)組賦值,一個(gè)種是用字符串直接給字符數(shù)組賦值。接下成我們主要講解這兩種賦值方式。692021/3/171.逐個(gè)為字符數(shù)組賦值每個(gè)字符會(huì)依次賦值給數(shù)組中的每個(gè)元素。702021/3/172.用字符串直接給字符數(shù)組賦值直接將字符串賦給字符數(shù)組來初始化。系統(tǒng)會(huì)依次讀取字符串中的每個(gè)字符,賦值給數(shù)組每個(gè)元素,并在字符串的的結(jié)尾處加一個(gè)字符即結(jié)束符0作為一個(gè)數(shù)組元素。712021/3/1710.3.9 字符數(shù)組的引用字符數(shù)組的輸入輸出有來那個(gè)中形式。722021/3/1710.3.10 不可修改的數(shù)組當(dāng)我們要使用不可修改的數(shù)組時(shí),就

29、要使用NSArray來進(jìn)行操作。在程序中要使用數(shù)組對(duì)象就要在開頭插入數(shù)組對(duì)象的頭文件。732021/3/171.nil和Nilnil在objc/objc.h中定義。nil表示一個(gè)Objective-C對(duì)象,這個(gè)對(duì)象所指的內(nèi)容為空。742021/3/171.nil和Nil752021/3/172.聲明和創(chuàng)建數(shù)組在不可修改的數(shù)組中,我們可用“arrayWithObjects”類方法對(duì)數(shù)組進(jìn)行初始化。例如我們給一數(shù)組對(duì)象city進(jìn)行創(chuàng)建和初始化。762021/3/172.聲明和創(chuàng)建數(shù)組772021/3/173.不可變的數(shù)組的使用782021/3/173.不可變的數(shù)組的使用792021/3/173.不

30、可變的數(shù)組的使用802021/3/173.不可變的數(shù)組的使用方法方法說明說明+(id)arryWithObjects:obj1,obj2,+(id)arryWithObjects:obj1,obj2,nilnil創(chuàng)建一個(gè)新的數(shù)組,obj1,obj2是他的數(shù)組元素對(duì)象,以nil對(duì)象結(jié)尾-(BOOL)containsObject:obj-(BOOL)containsObject:obj確定數(shù)組中是否包含對(duì)象obj-(NSUInteger)count-(NSUInteger)count數(shù)組中元素的個(gè)數(shù)-(NSUInteger)indexOfObject:obj-(NSUInteger)indexOf

31、Object:obj第一個(gè)包含數(shù)組元素的索引號(hào)-(id)objectAtIndex:i-(id)objectAtIndex:i存儲(chǔ)在位置i的對(duì)象- -(void)makeObjectsPerformSelector:(SEL)sele(void)makeObjectsPerformSelector:(SEL)selectorctor將selector指示的消息發(fā)送給數(shù)組中的每個(gè)元素- -(NSArray(NSArray* *)sortedArrayUsingSelector:(SEL)se)sortedArrayUsingSelector:(SEL)selectorlector根據(jù)select

32、or指定的比較方法對(duì)數(shù)組進(jìn)行排序-(BOOL)writeTo atomically:(BOOL)flag-(BOOL)writeTo atomically:(BOOL)flag將數(shù)組寫入指定的文件中,如果flag為YES,則需要先創(chuàng)建一個(gè)臨時(shí)文件812021/3/1710.3.11 可修該的數(shù)組NSArray是一個(gè)靜態(tài)的使用,我們不能在數(shù)組中添加和刪除元素。所以O(shè)bjective-C提供了NSMutableArray來動(dòng)態(tài)的管理這些數(shù)組。NSMutableArray是NSArray的子類,所以繼承了NSArrayde中的所有方法,又有自己獨(dú)特的方法。接下來我們主要講解NSMutableArra

33、y中的這些獨(dú)特的方法。822021/3/171.創(chuàng)建和初始化可修改的數(shù)組創(chuàng)建和初始化為可修改的數(shù)數(shù)組的形式。832021/3/172.添加一個(gè)元素addObject是在數(shù)組中添加一個(gè)元素。842021/3/173.刪除指定的元素removeObject是從數(shù)組中刪除指定的元素。852021/3/174.刪除所有元素removeAllObjects是將數(shù)組中的所有元素刪除。862021/3/175.在指定位置添加新元素inserObject是在指定位置為數(shù)組添加新元素。872021/3/175.在指定位置添加新元素方法方法說明說明+(id)array+(id)array創(chuàng)建一個(gè)空數(shù)組+(id)a

34、rrayWithCapacity:size+(id)arrayWithCapacity:size創(chuàng)建一個(gè)數(shù)組,指定容量為size+(id)initCapacity:size+(id)initCapacity:size初始化一個(gè)新分配的數(shù)組,指定容量為size-(void)addObject:obj-(void)addObject:obj將對(duì)象obj添加到數(shù)組末尾-(void)inserObject:obj atIndex:i-(void)inserObject:obj atIndex:i將對(duì)象obj插入數(shù)組的i元素-(void)replaceObjectAtIndex:i -(void)rep

35、laceObjectAtIndex:i withObject:objwithObject:obj將數(shù)組中序號(hào)為i的對(duì)象用對(duì)象obj替換-(void)removeObject:obj-(void)removeObject:obj從數(shù)組中刪除所有是obj的對(duì)象-(void)removeObjectAtIndex:i-(void)removeObjectAtIndex:i從數(shù)組中刪除索引為i的對(duì)象-(void)sortUsingSelector:(SEL)selector-(void)sortUsingSelector:(SEL)selector用selector指示的比較方法將數(shù)組排序882021

36、/3/1710.4 字典對(duì)象我們可以用數(shù)組存放有序?qū)ο蟮募?但是要存放具有關(guān)鍵字的對(duì)象的集合使用數(shù)組是不夠的。所以O(shè)bjective-C語言用提供了一個(gè)新的對(duì)象叫做字典。使用字典可以存放具有關(guān)鍵字的對(duì)象的集合。字典可分為不可修改的字典和可修改的字典兩種。本節(jié)將主要講解字典的相關(guān)知識(shí)。892021/3/1710.4.1 不可修改的字典字典中的每一項(xiàng)都有都有一個(gè)關(guān)鍵字和一個(gè)值,簡稱“鍵-值”。關(guān)鍵字在每個(gè)字典內(nèi)是唯一的,但值可以是相同的,也可以是不同的。當(dāng)我們要使用不可修改的字典時(shí),就要使用NSDictionary來進(jìn)行操作。在程序中要使用字典就要在開頭插入字典的頭文件。902021/3/171

37、.字典的創(chuàng)建和初始化在不可修改的字典中,我們可用“dictionaryWithObjectsAndKeys”類方法進(jìn)行初始化。例如我們employees字典進(jìn)行創(chuàng)建和初始化。912021/3/172.獲得字典中“鍵-值”的個(gè)數(shù)count是獲得字典中“鍵-值”的個(gè)數(shù)。922021/3/173.查找某一關(guān)鍵字對(duì)應(yīng)的值objectForKey是在字典中查找某個(gè)關(guān)鍵字所對(duì)應(yīng)的值。如果所對(duì)應(yīng)關(guān)鍵字的值不存在,就返回nil。932021/3/173.查找某一關(guān)鍵字對(duì)應(yīng)的值方法方法說明說明+(id)dictionaryWithObjectsAndKeys:+(id)dictionaryWithObjects

38、AndKeys:obj1,key1,obj2,key2,obj1,key1,obj2,key2,nilnil順序添加對(duì)象和鍵值來創(chuàng)建字典,注意結(jié)尾是nil-(id)initWithObjectsAndKeys:-(id)initWithObjectsAndKeys:obj1,key1,obj2,key2,obj1,key1,obj2,key2,nilnil初始化一個(gè)新分配的字典,順序添加關(guān)鍵字和值,結(jié)尾是nil-(unsigned int)count-(unsigned int)count返回字典中“鍵-值”對(duì)數(shù)-(NSEnumerator -(NSEnumerator * *)keyEnum

39、erator)keyEnumerator返回字典中所有的鍵到一個(gè)NSEnumerator對(duì)象-(NSArray-(NSArray* *)keysSortedByValueUsing )keysSortedByValueUsing Selector:(SEL)selectorSelector:(SEL)selector將字典中所有的鍵按照selector指定的方法進(jìn)行排序,并將排序的結(jié)果返回-(NSEnumerator -(NSEnumerator * *)objectEnumerator)objectEnumerator返回字典中所有的值到一個(gè)NSEnumerator類型對(duì)象-(id)obje

40、ctForKey:key-(id)objectForKey:key返回指定鍵的值942021/3/1710.4.2. 可修改的字典不可修改的字典和前面所說的不可修改的數(shù)組一樣,不能動(dòng)態(tài)的刪除和添加,可修改的字典(NSDictionary)解決了這一難題。接下來我們主要講解可修改字典的一些功能。952021/3/171.動(dòng)態(tài)字典的聲明和初始化動(dòng)態(tài)字典聲明和初始化的形式。962021/3/172.設(shè)置值和鍵setObject是用來設(shè)置值和鍵的。972021/3/173.刪除鍵所指定的值removeObjectForkey是用來刪除鍵所指定的值的。982021/3/174.刪除所有的元素remove

41、AllObjects是刪除字典對(duì)象中的所有的元素。992021/3/174.刪除所有的元素方法方法說明說明+(id)dictionaryWithCapacity:size+(id)dictionaryWithCapacity:size創(chuàng)建一個(gè)size大小的可修改字典-(id)initWithCapacity:size-(id)initWithCapacity:size初始化一個(gè)size大小的可修改字典-(void)removeAllObjects-(void)removeAllObjects刪除字典中的所有元素對(duì)象-(void)removeObjectForKey:key-(void)remo

42、veObjectForKey:key刪除字典中的key位置的值-(void)setObject:obj forKey:key-(void)setObject:obj forKey:key添加(key,obj)到字典中;若key已存在,則替換值為Obj1002021/3/1710.5 集合對(duì)象NSArray類提供了一個(gè)可用于存儲(chǔ)有序?qū)ο蟮募系募?NSSet提供了一個(gè)可用于無序?qū)ο蟮募系募?。在集合中分為可修改的集合和不可修改的集合兩種。本節(jié)將主要講解關(guān)于集合對(duì)象操作的相關(guān)知識(shí)。1012021/3/1710.5.1 不可修改的集合當(dāng)我們要使用不可修改的集合時(shí),就要使用NSSet來進(jìn)行操作。在

43、程序中要使用集合就要在開頭插入集合的頭文件。1022021/3/171.不可修改的集合對(duì)對(duì)象的創(chuàng)建和初始化在不可修改的集合中,我們可用“setWithobjects”類方法進(jìn)行初始化。例如,我們創(chuàng)建了一個(gè)set的集合,將該集合進(jìn)行初始化。1032021/3/172.獲得集合元素的個(gè)數(shù)count在集合中的功能功能是獲得集合中元素的個(gè)數(shù)。1042021/3/173.判斷兩個(gè)集合是否相等isEqualToSet是判斷兩個(gè)集合是否相等,如果BOOL就為“YES,不相等BOOL的值就為“NO”。1052021/3/173.判斷兩個(gè)集合是否相等方法方法說明說明+(id)setWithObjects:obj1,obj2,+(id)setWithObjects:obj1,obj2,nilnil使用一組元素對(duì)象創(chuàng)建新集合-(id)initWithObjects:obj1,obj2,-(id)initWithObjects:obj1,obj2,nilnil使用一組元素對(duì)象初始化新分配的集合-(NSUInteger)count-(NSUInteger)count返回集合的元素個(gè)數(shù)-(BOOL)containsObject:obj-(BOOL)c

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論