最近學習了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天天都在見對象呢對吧?有對象的呢,就早日可以幸福的在一起。。。。。。還有就是對我的那個她說,你的支持和信賴是我一直學習,堅持下去的動力。
歡迎各種點贊,打賞。