1、字符串
字符串是常用的數(shù)據(jù)類型敬肚,OC中字符串類型為:NSString類毕荐, 類似c中的char*,可以使用 length 屬性獲取長(zhǎng)度
(1)字符串創(chuàng)建方法
NSString *str=@"hello";
NSString *str2=[NSString stringWithString:str];
NSString *str3=[[NSString alloc]initWithString:@"hello"];
NSString *str4=[[NSString alloc]initWithFormat:@"hello%d",2];
(2)字符串合并方法
-(NSString*)stringByAppendingString:(NSString*)aString;
-(NSString*)stringByAppendingFormat:(NSString*)format...
(3)字符串截取方法
-(NSString*)substringFromIndex:(NSUInteger)anIndex;
-(NSString*)substringToIndex:(NSUInteger)anIndex;
(4)字符串替換方法
NSString *str8=@"helloword";
NSRange range=NSMakeRange(3, 3);
NSString *str9=[str8 stringByReplacingCharactersInRange:range withString:@"*"];
(5)字符串比較方法
-(BOOL)isEqualToString: (NSString*) aString;
-(NSComparisonResult)compare: (NSString*)string;
2艳馒、 NSDate日期
NSDate是用于處理日期和時(shí)間的基礎(chǔ)類憎亚,用于保存時(shí)間值,同時(shí)提供了一些方法用來處理一些基于秒級(jí)別時(shí)差運(yùn)算和日期之間的早晚比較等弄慰。
用于創(chuàng)建 NSDate實(shí)例的類方法
+(id)date;返回值是當(dāng)前日期和時(shí)間第美。
+(id)dateWithTimeIntervalSinceNow:(NSTimeInterval)secs;
返回是當(dāng)前時(shí)間為基準(zhǔn),然后警告了 secs 秒的時(shí)間曹动。
+(id)dateWithTimeInterval:(NSTimeInterval)tisinceDate:(NSDate*)refDate;
返回是指定時(shí)間 refDate 為基準(zhǔn)斋日,然后過了ti秒的時(shí)間。
3墓陈、數(shù)組
NSArray 不可變數(shù)組恶守,方便做查找
[array count] : 數(shù)組的長(zhǎng)度。
[array objectAtIndex 0]: 傳入數(shù)組腳標(biāo)的id 得到數(shù)據(jù)對(duì)象贡必。
[arrayWithObjects; ...] :向數(shù)組對(duì)象初始化賦值兔港。這里可以寫任意對(duì)象的指針,結(jié)尾必須使用nil。
NSMutableArray可變對(duì)象數(shù)組仔拟,刪除 添加 修改衫樊。
[NSMutableArray arrayWithCapacity:6] :初始化可變數(shù)組對(duì)象的長(zhǎng)度,如果后面代碼繼續(xù)添加數(shù)組超過長(zhǎng)度6以后NSMutableArray的長(zhǎng)度會(huì)自動(dòng)擴(kuò)充,6是自己可以設(shè)置的顆粒度科侈。
[array addObject:...] : 向可變數(shù)組尾部添加數(shù)據(jù)對(duì)象载佳。
[array addObjectsFromArray:..] :向可變數(shù)組尾部添加一個(gè)數(shù)組對(duì)象。
4臀栈、字典
字典使用Key-Value的形式存儲(chǔ)數(shù)據(jù)蔫慧。
字典中的對(duì)象存儲(chǔ)沒有順序,不可用下標(biāo)訪問权薯,使用 key 來表示每個(gè)對(duì)象姑躲。
cocoa框架中的字典:NSDictionary和NSMutableDictionary。
(1)創(chuàng)建不可變?cè)~典
[NSDictionary dictionaryWithObjectsAndKeys:..] : 使用鍵值對(duì)兒直接創(chuàng)建詞典對(duì)象盟蚣,結(jié)尾必需使用nil標(biāo)志結(jié)束黍析。
[NSDictionary initWithObjectsAndKeys:..] :使用鍵值對(duì)兒初始化詞典對(duì)象,結(jié)尾必需使用nil標(biāo)志結(jié)束屎开。
[dictionary count]: 得到詞典的長(zhǎng)度單位阐枣。
[dictionary keyEnumerator]: 將詞典的所有KEY儲(chǔ)存在NSEnumerator中,NSEnumerator很像Java語言 中的迭代器牍戚,使用快速枚舉可以遍歷詞典中所有儲(chǔ)存KEY值侮繁。
[dictionary??objectEnumerator]: 將詞典的所有value儲(chǔ)存在NSEnumerator中,用法和上面差不多可用來遍歷KEY對(duì)應(yīng)儲(chǔ)存的Value值。
[dictionary objectForKey:key]: 通過傳入KEY對(duì)象可以拿到當(dāng)前KEY對(duì)應(yīng)儲(chǔ)存的值如孝。
(2)創(chuàng)建可變?cè)~典對(duì)象
NSMutableDictionary 是NSDictionary的子類宪哩,所以繼承了NSDictionary的方法。
[NSMutableDictionary dictionaryWithCapacity:10] : 創(chuàng)建一個(gè)可變?cè)~典初始指定它的長(zhǎng)度為10.第晰,動(dòng)態(tài)的添加數(shù)據(jù)如果超過10這個(gè)詞典長(zhǎng)度會(huì)自動(dòng)增加锁孟,所以不用擔(dān)心數(shù)組越界。推薦用這種方式
[NSMutableDictionary initWithCapacity:10]??:只是初始化一個(gè)詞典的長(zhǎng)度為10茁瘦。
[dictionary setObject:@"雨松MOMO" forKey:@"name"] :向可變的詞典動(dòng)態(tài)的添加數(shù)據(jù) 品抽,這里的key是name ,值是雨松MOMO甜熔。如果詞典中存在這個(gè)KEY的數(shù)據(jù)則直接替換這個(gè)KEY的值圆恤。(易混的地方,慎重G幌 )
[dictionary removeAllObjects..] : 刪除掉詞典中的所有數(shù)據(jù)盆昙。
[dictionary removeObjectForKey..] :刪除掉詞典中指定KEY的數(shù)據(jù) 。