最近學(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)贊,打賞。