日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

IOS基础之NSString,NSMutableString,NSArray的基本使用

發布時間:2023/12/18 编程问答 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 IOS基础之NSString,NSMutableString,NSArray的基本使用 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

IOS基礎之NSString,NSMutableString,NSArray的基本使用

// // main.m // Day10-Foundation框架 // // Created by 魯軍 on 2021/4/25. // /**NSString *str2 = [NSString new];創建對象的在常量區 堆區在內存中創建的1個字符串對象以后,這個字符串對象的內容就無法更改當我們重新為字符串指針初始化值的時候當我們 重新為字符串指針初始化值的時候,并不是修改原來的字符串對象而是重新的創建1個字符串對象,將這個字符串對象的地址重新賦值*/#import <Foundation/Foundation.h>int main(int argc, const char * argv[]) {NSString *str1 = @"jack";NSString *str2 = [NSString new];NSLog(@"\nstr1 = %p\nstr2 = %p",str1,str2);/**str1 = 0x100004010str2 = 0x7fff80377728*/NSLog(@"test");NSString *str = @"jack";str = @"rose";NSLog(@"%@",str);return 0; } // // main.m // 05-字符串的常用成員 // // Created by 魯軍 on 2021/5/7. // /**substringFromIndex從指定的下標出一直截取到最后substringToIndex 從第0個開始截取指定的個數substringWithRange 截取指定的一段范圍3.字符串的替換stringByReplacingOccurrencesOfString:@"北京天安門" withString:@"廣州小蠻腰"];將字符串中第一個參數替換為第2個參數,友情提示,原來的指針指向的字符串的內容是不會變的,會全部替換新串是以方法的返回值返回的這個方法還可以做刪除 原理就是將其替換成@""3.字符串數據轉換成其他類型轉換注意從頭開始轉換,能轉換多少,就轉換多少,到遇到不能轉換的時候就停止轉換了如果不能轉換就為04.去掉字符串的前后面的空格stringByTrimmingCharactersInSet 去掉字符串的前后的空格,中間的空格無法去掉5). 去掉字符串的前后的小寫字母NSString *str = @"beiAjingwoainiAbAei";str = [str stringByTrimmingCharactersInSet:[NSCharacterSet lowercaseLetterCharacterSet]];NSLog(@"%@",str);//AjingwoainiAbA6). 去掉字符串的前后大寫字母NSString *str = @"ABCSASbeiAjingwoainiAbAeiEEEESSWSS";str = [str stringByTrimmingCharactersInSet:[NSCharacterSet uppercaseLetterCharacterSet]];NSLog(@"%@",str);//beiAjingwoainiAbAei7). 去掉頭尾指定的字符串NSString *str = @"jingABCC jing CbeiAdasdasdqwdWWESDSDWDWQDjing";str = [str stringByTrimmingCharactersInSet:[NSCharacterSet characterSetWithCharactersInString:@"jing"]];NSLog(@"%@",str);//ABCC jing CbeiAdasdasdqwdWWESDSDWDWQD*/ #import <Foundation/Foundation.h>int main(int argc, const char * argv[]) {NSString *str = @"jingABCC jing CbeiAdasdasdqwdWWESDSDWDWQDjing";str = [str stringByTrimmingCharactersInSet:[NSCharacterSet characterSetWithCharactersInString:@"jing"]];NSLog(@"%@",str);//ABCC jing CbeiAdasdasdqwdWWESDSDWDWQD// NSString *str = @"ABCSASbeiAjingwoainiAbAeiEEEESSWSS"; // str = [str stringByTrimmingCharactersInSet:[NSCharacterSet uppercaseLetterCharacterSet]]; // NSLog(@"%@",str);//beiAjingwoainiAbAei// NSString *str = @"beiAjingwoainiAbAei"; // str = [str stringByTrimmingCharactersInSet:[NSCharacterSet lowercaseLetterCharacterSet]]; // NSLog(@"%@",str);//AjingwoainiAbA// NSString *str = @"i love itcast "; // str = [str uppercaseString]; // NSLog(@"%@",str);/*NSString *str = @" dniqw12314234sdas ";NSLog(@"%@",str);str = [str stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]];NSLog(@"%@",str);*//* NSString *str = @"110aaaaa";int num = str.intValue;NSLog(@"%d",num);//110*//* NSString *str = @"12";int num = str.intValue;double num1 = str.doubleValue;float num2 = str.floatValue;NSLog(@"%d",num +1);NSLog(@"%lf",num1 + 21.1);*//*NSString *str = @"中國\n我愛你\n啊真的\n愛\n你啊!";str = [str stringByReplacingOccurrencesOfString:@"\n" withString:@""];NSLog(@"%@",str);*//*NSString *email = @"wxw@itcast.cn";email = [email stringByReplacingOccurrencesOfString:@"@" withString:@"#"];NSLog(@"%@",email);*//* NSString *str = @"我愛北京天安門北京";//字符串的恒定性str = [str stringByReplacingOccurrencesOfString:@"北京" withString:@"廣州小蠻腰"];NSLog(@"%@",str);*//*NSString *str = @"我愛北京天安門";NSString *newStr = [str substringFromIndex:3];NSLog(@"%@",newStr); //京天安門NSString *newStr2 = [str substringToIndex:3];NSLog(@"%@",newStr2); //我愛北NSString *newStr3 = [str substringWithRange:NSMakeRange(2, 3)];NSLog(@"%@",newStr3);//北京天*/return 0; } // // main.m // 06-NSMutableString // // Created by 魯軍 on 2021/5/7. // /**字符串的恒定性一旦創建1個字符串的對象,那么這個字符串對象的內容是無法更改的,當我們修改的字符串的時候,其實是重新的創建了1個字符串的對象NSLog(@"---------------");NSString *str = @"";for(int i=0;i<50000;i++){str = [NSString stringWithFormat:@"%@%d",str,i];}NSLog(@"---------------");會耗費很長的時間。 每次循環的時候,都會創建1個新的字符串的對象,50000個因為字符串的恒定性。2. 如果讓大批量的字符串拼接可以更加快速的創建1) 慢的原因, 因為字符串的恒定性,每次修改字符串的時候,是重新的創建1個對象2) 希望, 有沒有1中對象是用來存儲字符串的,并且存儲在這個對象的字符串的數據可以更改的3. NSMutableString1) 是NSFoundation 的類 從NSSTring 繼承的所以,NSMutableString 在父類NSString的基礎上做的擴展存儲在NSMutableString 對象中的字符串數據是可以更改的,具備可變性直接可以改存儲在NSMutableString 對象的字符串的數據,不會創建新的對象4) NSMutableString 的用法1) 創建[str appendFormat:@"我今年%d歲了",age];2) 往可變的字符串的對象中添加字符串[str appendString:@"jack"];[str appendFormat:@"我今年%d歲了",age];3). 創建的NSMutaleString 對象的時候, 記住下面的這樣的初始化的方式是不對的NSMutableString *str = @"jack";@"jack" 是1個 NSString 對象, 1個父類對象而str 指針是1個NSMutableString 類型的 是1個子類類型的如果通過子類的指針去調用子類獨有的成員,就會運行錯誤4) NSMutableString 從NSString 繼承在使用NSString 的地方完全可以使用 NSMutableString 去替換的5. 使用NSMutableString 來做大批量的字符串拼接這個時候 biu 的一下就結束了,為什么這么快 因為 NSMutable String對象只有1個,每次修改的時候,直接修改的是這個對象的中的數據NSLog(@"------------------");NSMutableString *str = [NSMutableString string];for(int i=0;i<50000;i++){[str appendFormat:@"%d",i];}NSLog(@"------------------");6. 平時的使用 使用的是 NSString 因為效率高2) NSMutableString 只在大批量的字符串的拼接的時候才使用,大量拼接的時候,就不要使用NSString 因為效率低5次以上相當于 C#的StringBuilder 和java 的StringBuilder*/ #import <Foundation/Foundation.h> #import "Person.h"int main(int argc, const char * argv[]) {NSLog(@"------------------");NSMutableString *str = [NSMutableString string];for(int i=0;i<50000;i++){[str appendFormat:@"%d",i];}NSLog(@"------------------");// Person *p1 = [Person new]; // // NSString *str2 = @"紅燒肉"; // NSMutableString *str3 = [NSMutableString string]; // // [str3 appendString:@"冰淇淋"]; // [p1 eat:str3]; // // // NSMutableString *str= [NSMutableString string]; // [str appendString:@"jack"]; // [str appendString:@"rose"]; // [str appendString:@"lili"]; // int age = 21; // [str appendFormat:@"我今年%d歲了",age]; // // // NSLog(@"%@",str);// NSLog(@"---------------"); // NSString *str = @""; // // for(int i=0;i<50000;i++){ // str = [NSString stringWithFormat:@"%@%d",str,i]; // // } // // NSLog(@"---------------");return 0; } // // Person.m // 06-NSMutableString // // Created by 魯軍 on 2021/5/7. //#import "Person.h"@implementation Person- (void)eat:(NSString *)foodName{NSLog(@"給我的%@真好吃",foodName); }@end // // main.m // 07-NSArray // // Created by 魯軍 on 2021/5/7. ///**1.回憶 C語言的數組特點a。 存儲多個數據b。 類型相同c。長度固定d。每1個元素都是緊密相連的2.NSArray 是Foundation 的一個類所以NSArray 是OC的數組2) 特點只能存儲OC對象,無法存儲非OC對象整型等任意的OC對象b 長度固定, 一旦NSArray 數組的創建完畢之后,元素的長度固定,無法新增,無法刪除元素c 每1個元素都是緊密相連的,每1個元素仍然有自己的下標。3. NSArray 的創建NSArray *arr1 = [NSArray new];NSArray *array = [[NSArray alloc] init];NSArray *arr3 = [NSArray array];這樣創建數組是沒有意義的 ,數組長度是02) NSArray *arr = [NSArray arrayWithObject:@"jack"];NSLog(@"%@",arr);這樣也是沒有意義的,就添加一個數組長度了使用注意:1) 只能存儲OC對象,不能存儲非OC對象2) 將元素寫完以后,最后要寫1個nil,表示元素到此結束了。//簡要的寫法NSArray *arr = @[@"jack",@"rose",@"lili",@"hanMeiMei"];不需要加nil,否則會報錯。NSArray 的使用nil本質是05. 取出 存儲在NSArray的值arr[0] //下標取出值調用對象方法NSString *str = [arr objectAtIndex:1];NSLog(@"%@",str);1) 得到數組的長度arr.count2) 判斷NSArray數組中是否包含指定的元素3) 取到NSArray的第一個元素arr.firstObject;與arr[0]的區別當數組為空,arr[0] 直接報錯,arr.firstObject輸出nillastObject最后一個值4) 取到NSArray數組中的最后1個元素lastObject5) 查找指定的元素第一次出現的下標NSArray *arr = @[@"jack",@"rose",@"lili",@"hanMeiMei"]; NSUInteger index = [arr indexOfObject:@"rose"];NSLog(@"%lu",index);//1如果沒有找到,返回的是NSUInteger 的最大值*/#import <Foundation/Foundation.h> #import "Person.h" int main(int argc, const char * argv[]) {NSArray *arr = @[@"jack",@"rose",@"lili",@"hanMeiMei"];NSUInteger index = [arr indexOfObject:@"rose"];if(index==NSNotFound){NSLog(@"沒有找到");}NSLog(@"%lu",index);//1BOOL res = [arr containsObject:@"jacks"];NSLog(@"%d",res); //沒有 就是0 ,有就是1NSLog(@"arr.count = %lu",arr.count);NSString *str = [arr objectAtIndex:1];NSLog(@"%@",str);// NSArray *arr1 = [NSArray new]; // NSArray *array = [[NSArray alloc] init]; // NSArray *arr3 = [NSArray array];// NSArray *arr = [NSArray arrayWithObject:@"jack"]; // NSLog(@"%@",arr); // NSArray * arr = [NSArray arrayWithObjects:@"jack",@"rose",@"hanMeimei",@"LiLei", nil]; // NSLog(@"%@",arr); //// Person *p1 = [Person new]; // Person *p2 = [Person new]; // Person *p3 = [Person new]; // Person *p4 = [Person new]; // Person *p5 = [Person new]; // Person *p6 = [Person new]; // Person *p7 = [Person new]; // NSArray *arr = [NSArray arrayWithObjects:p1,p2,p3,p4,p5,p6,p7, nil];//簡要的寫法 // NSArray *arr = @[@"jack",@"rose",@"lili",@"hanMeiMei"]; // // NSArray *arr1 = @[p1,p2,p3,p4,p5,p6,p7]; // NSLog(@"%@",arr1); // // NSLog(@"%@",arr);return 0; } // // Person.m // 07-NSArray // // Created by 魯軍 on 2021/5/7. //#import "Person.h"@implementation Person@end

總結

以上是生活随笔為你收集整理的IOS基础之NSString,NSMutableString,NSArray的基本使用的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。