OC中的字符串,數(shù)組,字典,集合常用方法

最近學(xué)習(xí)了OC,覺得里面的方法就和C語言里面的函數(shù)差不多,下面是本人最近做的一些方法總結(jié),初學(xué)寫的不好,勿噴。有好的文章可以留言,本人急需發(fā)展,就像喬布斯說的那句話:求知若饑,虛心若愚。

/*一. ?字符串

OC中字符串的格式:NSString *string =@"字符";

1. 創(chuàng)建一個(gè)字符創(chuàng)常量

(1).直接賦值

(2).通過初始化,便利構(gòu)造

2. 快速創(chuàng)建一個(gè)字符串

(1).通過帶參數(shù)的init方法快速創(chuàng)建

(2).通過帶參數(shù)的便利構(gòu)造方法快速創(chuàng)建

3. 創(chuàng)建一個(gè)格式化的字符串

(1).通過帶參數(shù)的便利構(gòu)造方法創(chuàng)建格式化字符串

(2).后面的格式,跟輸出(NSLog)括號(hào)內(nèi)的一樣

4. 字符串的比較

(1).區(qū)分大小寫的比較:compare

(2).不區(qū)分大小寫的比較:caseInsensitiveCompare

(3).isEqualToString比較字符串對(duì)象的內(nèi)容是否一樣;==比較兩個(gè)字符對(duì)象的內(nèi)存地址是否一樣,用BOOL 接受

5. 字符串的轉(zhuǎn)換

(1).將字母轉(zhuǎn)化為大寫:uppercaseString

(2).將字母轉(zhuǎn)化成小寫:lowercaseString

(3).將首字母大寫,后面小寫:capitalizedString

6. 字符串的截取與拼接

(1).表示從頭截取到哪里:substringToIndex

(2).表示從哪里開始到尾:substringFromIndex

(3).表示按指定的范圍截?。簊ubstringWithRange

NSrange規(guī)定一個(gè)返回,locationd代表開從哪里開始截取,length代表要截取多長(zhǎng)

(4).格式化拼接字符串:stringByAppendingFormt

7.字符串轉(zhuǎn)換數(shù)組

(1).用特定字符分割字符串:componentsSeparatedByString

NSMutableString方法

8. 增->使原字符改變

(1).對(duì)自身進(jìn)行修改:appendString

(2).對(duì)自身進(jìn)行格式化拼接:appendFormat

(3).在字符串的指定位置插入內(nèi)容:insertString...atIndex

9. 刪->刪除原字符串的某些內(nèi)容

(1).刪除原字符串中指定區(qū)域的字符:deleteCharactersInRange ? range指代刪除內(nèi)容范圍

10.改->修改原字符的某些內(nèi)容

(1).修改字符的內(nèi)容:replaceCharactersInRange...withString

range指代修改內(nèi)容范圍,withString后面加修改后的內(nèi)容

11.查->查找原字符串的字符

(1).查找原字符串中是否有指定的字符:containsString ? BOOL類型 接收

*/

/*

二.數(shù)組

OC中數(shù)組的格式:NSSArray *array = @[@"元素1",@"元素2",@"元素3"];

OC中能將另一個(gè)數(shù)組的值賦給新數(shù)組

1. 數(shù)組對(duì)象的創(chuàng)建

(1).創(chuàng)建數(shù)組時(shí)給數(shù)組添加一個(gè)元素:arrayWithObject

(2).創(chuàng)建數(shù)組時(shí)給數(shù)組添加多個(gè)元素:arrayWithObjects

采用該方式最后用 nil結(jié)尾

(3).創(chuàng)建數(shù)組時(shí)添加整個(gè)數(shù)組:arrayWithArray

2. 獲取數(shù)組中的元素個(gè)數(shù)以及訪問數(shù)組元素

(1).通過下標(biāo)來存取值:array[];

(2).通過count獲取到數(shù)組中元素的個(gè)數(shù):array count

3. 追加數(shù)組中的內(nèi)容

(1).往數(shù)組里面追加一個(gè)元素:arrayByAddingObject

(2).往數(shù)組里面追加一個(gè)數(shù)組:arrayByAddingObjectsFromArray

4. 數(shù)組轉(zhuǎn)字符串

(1).數(shù)組轉(zhuǎn)換字符串的方法:componentsJoinedByString

用符號(hào)隔開元素

5. 判斷數(shù)組中是否存在一個(gè)指定的對(duì)象

(1).判斷數(shù)組中是否存在一個(gè)指定的對(duì)象:containsObject

結(jié)果用 BOOL 接受

6. 根據(jù)指定的對(duì)象返回索引下標(biāo)、返回?cái)?shù)組中最后一個(gè)元素

(1).根據(jù)索引下標(biāo),找到第一個(gè)最后一個(gè)元素:first/lastObject

7. //for...in 快速遍歷數(shù)組:

for(NSString *str1 in array){

}

in左邊:放一個(gè)數(shù)組內(nèi)容的引用,沒有實(shí)例化的對(duì)象就叫做引用

in右邊:放要遍歷的數(shù)組

核心:從頭遍歷指定數(shù)組,將每次遍歷到的數(shù)值給in左邊的對(duì)象

當(dāng)數(shù)組里面的元素被遍歷完成以后,for循環(huán)自動(dòng)結(jié)束

NSMutableArray

7. 新增

(1).往數(shù)組里面添加一個(gè)元素:addObject

(2).往數(shù)組里面批量添加元素:addObjectFromArray

8. 插入

(1).往數(shù)組里插入一個(gè)元素:insertObject...atIndex

atIndex指的是從哪插入

9. 刪除

(1).刪除最后一個(gè)元素:removeLastObject

(2).刪除指定位置元素:removeObjectAtIndex

后面加指定的位置

(3).刪除所有的元素:removeAllObjects

(4).批量刪除:removeObjectsInArray

10. 替換元素

(1).用指定元素替換數(shù)組中指定位置:replaceObjectAtIndex:withObject

后加指定元素位置, ? ? ? 后加指定元素

(2).用指定數(shù)組替換數(shù)組中指定區(qū)域元素

replaceObjectInRange:位置

withObjectsFromArray:nil

三.字典

OC中字典的格式:NSDictionary *dict = @{key:value,key:value...};

1.字典對(duì)象的創(chuàng)建

(1).通過直接賦值的方法:NSDictionary *dict =@{key:vaule,key:value};

(2).通過alloc init方法: NSDictionary *dict =[[NSDictionary alloc]init];

(3).便利構(gòu)造方法:NSDictionary *dict =[NSDictionary dictionary];

2.快速創(chuàng)建一個(gè)字典的方法

(1).初始化過程中NSDictionary initWithObjectsAndKeys:無論鍵還是值都用逗號(hào)隔開,鍵在前,值在后,給的參數(shù)必須是雙數(shù)

(2).便利構(gòu)造過程中NSDicationary dictionaryWithObjectsAndKeys:無論鍵還是值都用逗號(hào)隔開,鍵在前,值在后,給的參數(shù)必須是雙數(shù)

(3).將一個(gè)字典放到一個(gè)字典中:NSDictionary *dict1 =[NSDictionary alloc]initWithDictionary:dict(準(zhǔn)備好的字典)];

(4).通過讀取存放字典數(shù)據(jù)的文件創(chuàng)建字典:[[NSDictionary dict =[NSDictionary alloc]intWithContentsOfFile:nil(文件)];

(5).通過將url中存放的字典創(chuàng)建到新的字典中:[[NSDictionary alloc]initWithContentOfURL:nil(uil資源)];

3.獲取字典中的鍵值

(1).通過字典里面相對(duì)的鍵:dict[@"key"];[dict objectForKey:@"key"];

(2).通過count獲取到字典中鍵值對(duì)的個(gè)數(shù): long num =[dict count];

(3).通過allkey獲取到字典里面所有的鍵:NSArray *allkeysArray = [dict allkeys];

(4).通過allvalue獲取到字典里面所有的值:NSArray *allvaluesArray = [dict allvalues];

(5).通過遍歷字典中的鍵,來遍歷字典中的值:for(NSString *key in allkeysArray){

NSLog(@"%@",dict[key]);

}

(6).通過枚舉器訪問獲取到字典中的鍵和值:

通過keyEnumerator(枚舉器)獲取到字典中所有的鍵,將所有的鍵放入一個(gè)容器中:NSEnumerator *result = [dict keyEnumerator];

通過for...in循環(huán)遍歷這個(gè)容器:for(NSString *key in result){

NSlog(@"%@",key);

};

通過nextObject方法獲取容器中的結(jié)果,當(dāng)nextObject結(jié)果返回為空時(shí)跳出循環(huán):NSString = temp;

while(temp = [result naetObject]){

NSLog(@"%@",temp);

}

NSMutableDictionary 方法

1.給可變字典的賦值方式

(1).簡(jiǎn)單方式:通過直接賦值,dict[@"key"] =@"value";

(2).復(fù)雜方式:通過遍歷構(gòu)造,[dict setValue:@"value" forKey:@"key"];

(3).重新給字典賦值:[dict setDictionary:@{@"key":@" value"}];

2.創(chuàng)建字典

(1).創(chuàng)建指定個(gè)數(shù)元素的字典,如果賦值超過的時(shí)候系統(tǒng)會(huì)直接擴(kuò)充

(2).alloc init和便利構(gòu)造

3.移除字典元素

(1).通過Key來移除指定元素:[dict removeObjectForKey:@"key

"];

(2).批量移除:[dict removeObjectsForKeys: @[@"key1",@"key2"]];

(3).全部移除:[dict removeAllObjects];

四.集合

OC中集合的格式:NSSet *set =[NSSet alloc]initWithObjects:@1,@2,@3,nil];

1.集合對(duì)象的創(chuàng)建(快速創(chuàng)建)

(1).創(chuàng)建對(duì)象并直接賦值:NSSet *set =[NSSet alloc]initWithObjects:@1,@2,@3,nil];

(2).通過alloc init方法:NSSet *set = [[NSSet alloc]init];

(3).通過便利構(gòu)造方法: NSSet *set = [NSSet set];

2.將數(shù)組轉(zhuǎn)化為集合:

(1).將數(shù)組轉(zhuǎn)化為集合:NSSet *set = [NSSet setWithArray:array];

(2).將一個(gè)元素放到新的集合:NSset *set = [NSSet setWithObject:@新元素];

3.遍歷集合元素

(1). 通過for...in遍歷集合:

for(NSString *temp in set){

}

(2).枚舉器遍歷集合:

NSEnumerator *result = [set objectEnumerator];

id temp;

while(temp = [result nextject]){

};

4.判斷兩個(gè)集合是否有交集

(1).判斷是否有交集:BOOL isJiaoJi = [set1 isSubsetsOFSet set2];

(2).判斷前者是否是后者的子集

BOOL isSub = [set isSubsetOfSet:set1];

NSMutableSet ?方法

1.創(chuàng)建指定元素個(gè)數(shù)的一個(gè)集合對(duì)象

(1). NSMutableSet *set = [NSMutableSet setWithCapacity:1];

(2).給集合添加單個(gè)元素:

[set addObject:@"元素"];

(3).給集合批量添加元素:

[set addObjectsFromArray:array];

2.移除集合中的元素

(1).移除集合中的一個(gè)元素:

[set removeObject:@"元素"];

(2).移除集合中的所有元素:

[set removeAllObjects];

3.判斷兩個(gè)集合有沒有交集并集

(1).獲取到兩個(gè)集合的并集最后賦值給set:

[set unionSet:set1];

(2).獲取到兩個(gè)集合的交集最后賦值給set:

[set intersectSet:set1];

(3).從一個(gè)集合中減去另一個(gè)集合,就是從集合中移除這兩個(gè)集合的交集,最終賦值給set

[set minusSet:set1];

4. 給集合重新賦值

[set setSet:set1];

*/




補(bǔ)充:

mark 數(shù)組排序

NSArray *sortArray = @[@"b",@"c",@"d",@"z",@"r"];

// 設(shè)置比較方法

NSArray *resultArray = [sortArray sortedArrayUsingSelector:@selector(compare:)];

// 能設(shè)置升序還是降序

NSString *resultArray1 = [sortArray sortedArrayUsingComparator:^NSComparisonResult(id ?_Nonnull obj1, id ?_Nonnull obj2) {

return [obj2 compare:obj1];

}];

最后,祝愿學(xué)習(xí)編程的都能早日找到對(duì)象,好吧,貌似我們學(xué)習(xí)oc天天都在見對(duì)象呢對(duì)吧?有對(duì)象的呢,就早日可以幸福的在一起。。。。。。還有就是對(duì)我的那個(gè)她說,你的支持和信賴是我一直學(xué)習(xí),堅(jiān)持下去的動(dòng)力。




歡迎各種點(diǎn)贊,打賞。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容