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

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

/*一. ?字符串

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

1. 創建一個字符創常量

(1).直接賦值

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

2. 快速創建一個字符串

(1).通過帶參數的init方法快速創建

(2).通過帶參數的便利構造方法快速創建

3. 創建一個格式化的字符串

(1).通過帶參數的便利構造方法創建格式化字符串

(2).后面的格式,跟輸出(NSLog)括號內的一樣

4. 字符串的比較

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

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

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

5. 字符串的轉換

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

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

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

6. 字符串的截取與拼接

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

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

(3).表示按指定的范圍截取:substringWithRange

NSrange規定一個返回,locationd代表開從哪里開始截取,length代表要截取多長

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

7.字符串轉換數組

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

NSMutableString方法

8. 增->使原字符改變

(1).對自身進行修改:appendString

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

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

9. 刪->刪除原字符串的某些內容

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

10.改->修改原字符的某些內容

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

range指代修改內容范圍,withString后面加修改后的內容

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

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

*/

/*

二.數組

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

OC中能將另一個數組的值賦給新數組

1. 數組對象的創建

(1).創建數組時給數組添加一個元素:arrayWithObject

(2).創建數組時給數組添加多個元素:arrayWithObjects

采用該方式最后用 nil結尾

(3).創建數組時添加整個數組:arrayWithArray

2. 獲取數組中的元素個數以及訪問數組元素

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

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

3. 追加數組中的內容

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

(2).往數組里面追加一個數組:arrayByAddingObjectsFromArray

4. 數組轉字符串

(1).數組轉換字符串的方法:componentsJoinedByString

用符號隔開元素

5. 判斷數組中是否存在一個指定的對象

(1).判斷數組中是否存在一個指定的對象:containsObject

結果用 BOOL 接受

6. 根據指定的對象返回索引下標、返回數組中最后一個元素

(1).根據索引下標,找到第一個最后一個元素:first/lastObject

7. //for...in 快速遍歷數組:

for(NSString *str1 in array){

}

in左邊:放一個數組內容的引用,沒有實例化的對象就叫做引用

in右邊:放要遍歷的數組

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

當數組里面的元素被遍歷完成以后,for循環自動結束

NSMutableArray

7. 新增

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

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

8. 插入

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

atIndex指的是從哪插入

9. 刪除

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

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

后面加指定的位置

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

(4).批量刪除:removeObjectsInArray

10. 替換元素

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

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

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

replaceObjectInRange:位置

withObjectsFromArray:nil

三.字典

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

1.字典對象的創建

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

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

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

2.快速創建一個字典的方法

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

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

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

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

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

3.獲取字典中的鍵值

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

(2).通過count獲取到字典中鍵值對的個數: 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(枚舉器)獲取到字典中所有的鍵,將所有的鍵放入一個容器中:NSEnumerator *result = [dict keyEnumerator];

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

NSlog(@"%@",key);

};

通過nextObject方法獲取容器中的結果,當nextObject結果返回為空時跳出循環:NSString = temp;

while(temp = [result naetObject]){

NSLog(@"%@",temp);

}

NSMutableDictionary 方法

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

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

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

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

2.創建字典

(1).創建指定個數元素的字典,如果賦值超過的時候系統會直接擴充

(2).alloc init和便利構造

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.集合對象的創建(快速創建)

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

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

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

2.將數組轉化為集合:

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

(2).將一個元素放到新的集合: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.判斷兩個集合是否有交集

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

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

BOOL isSub = [set isSubsetOfSet:set1];

NSMutableSet ?方法

1.創建指定元素個數的一個集合對象

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

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

[set addObject:@"元素"];

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

[set addObjectsFromArray:array];

2.移除集合中的元素

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

[set removeObject:@"元素"];

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

[set removeAllObjects];

3.判斷兩個集合有沒有交集并集

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

[set unionSet:set1];

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

[set intersectSet:set1];

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

[set minusSet:set1];

4. 給集合重新賦值

[set setSet:set1];

*/




補充:

mark 數組排序

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

// 設置比較方法

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

// 能設置升序還是降序

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

return [obj2 compare:obj1];

}];

最后,祝愿學習編程的都能早日找到對象,好吧,貌似我們學習oc天天都在見對象呢對吧?有對象的呢,就早日可以幸福的在一起。。。。。。還有就是對我的那個她說,你的支持和信賴是我一直學習,堅持下去的動力。




歡迎各種點贊,打賞。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容