-
//?Objective-C NSString 的 一些使用方法&相關(guān)知識(shí)
1. autoreleasepool 內(nèi)存自動(dòng)釋放池
@autoreleasepool{?NSLog(@"helloworld!");}
2. *在OC中代表對(duì)象,區(qū)別C中的指針
char?*s?=?"hello1"; NSString?*str?=?@"hello2";
3. 類型轉(zhuǎn)換
// C->OC
NSString *str1 = [NSString stringWithUTF8String: s] ?// 這里 s: const char*
NSLog(@"str1 = %@", str1);
// OC->C
NSLog(@"str2 = %s", [str UTF8String]);
4. 創(chuàng)建字符串
NSString *str3 = @"a string"; ?// ?自動(dòng)分配釋放內(nèi)存
NSString *str4 = [[NSString alloc] init]; // 需要釋放內(nèi)存
str4 = @"a string";
=============
一些函數(shù)
5. 格式化字符串
NSString *str5 = [NSString stringWithFormat:@"%d %d"];
6. 拼接字符串
NSString *str6 = [str5 stringByAppendingString:str];
7. 大小寫
lowercaseString ? uppercaseString
8. 前綴后綴
hasPrefix ? ? hasSuffix
查看全部 -
????????//OC數(shù)組可以存儲(chǔ)不同類型的對(duì)象,?OC只可以保存對(duì)象 ????????//數(shù)組初始化需要以nil結(jié)尾 ????????NSArray?*array?=?[[NSArray?alloc]?initWithObjects:@"hello",@"?array",?@"?Object",?nil]; ????????//獲取數(shù)組長(zhǎng)度 ????????int?count?=?(int)array.count; ????????//數(shù)組中是否含有特定的元素 ????????BOOL?hasCertainElement?=?[array?containsObject:@"hello"]; ????????//獲取數(shù)組的第一個(gè)元素 ????????NSString?*firstObject?=?[array?firstObject]; ????????//獲取數(shù)組最后一個(gè)元素 ????????NSString?*lastObject?=?[array?lastObject]; ????????//獲取特定下標(biāo)的數(shù)組元素 ????????NSString?*anyObjectInArray?=?[array?objectAtIndex:1]; ????????//獲取指定元素的下標(biāo),如數(shù)組中不存在,則返回-1 ????????int?objectIndex?=?(int)[array?indexOfObject:@"array"];
查看全部 -
1.addObjectsFromArray這個(gè)方法是會(huì)把personArray所有的元素添加到array這個(gè)數(shù)組中
查看全部 -
?與C、JAVA數(shù)組存儲(chǔ)不同的是:
OC數(shù)組可以存儲(chǔ)不同類型的對(duì)象,并且只能存儲(chǔ)對(duì)象;
OC存儲(chǔ)數(shù)組不同的是,存儲(chǔ)的是對(duì)象的指針,占用空間較?。?br />
備注:數(shù)組就是順序的存儲(chǔ)結(jié)構(gòu),可以遍歷,內(nèi)存空間連續(xù);
查看全部 -
可變字符串:NSMutableString
可變字符串實(shí)例化聲明
NSMutableString *str = [[NSMutableString alloc] initWithCapacity:10]; ? ? ?//initWithCapacity:10. 代表可變字符串的長(zhǎng)度為10 ,不可以超過,但是超過也不提醒。
[str setString:@"Hello"]; ? ?//這句話要區(qū)別于普通字符串的實(shí)例化(賦值)
追加字符串
方法一:[str appendString:@" world"];
方法二:int a = 10;
? ? ? ? ? ??[str appendFormat:@" ?- %d",a];
替換字符串
按范圍替換:NSRange range = [str rangeOfString:@"world"];
[str repalceCharactersInRange:range withString:@"IOS"];
插入字符串
[str inteStringr:@"要加入的字符串" ?atIndex:6];
刪除字符串
NSRange range1 =?[str rangeOfString:@"AIOS"];??
[str deleteCharactersInRange:range1];
查看全部 -
接上一節(jié)
字符串替換
用指定字符串替換原字符串中的內(nèi)容:(StringByRepalaceOccurencesOfString:(要被替換的內(nèi)容)withString(替換后的字符串));
讀取文件
本地路徑:NSURL *fileURL = [NSURL fileURLWIithPath:str21]
讀取本地文件:NSString *fileStr = [NSString stringWithContentsOfURL:@"本地文件所在路徑" encoding:NSUTF8StringEncoding error:nil]
網(wǎng)絡(luò)路徑:NSURL *httpURL = [NSURL URLWIithString:str21]
讀取網(wǎng)絡(luò)文件:NSString *httpStr = [NSString stringWithContentsOfURL:httpURL encoding:NSUTF8StringEncoding error:nil]
寫入文件
NSString *str22 = =@"Hello Visitor";
BOOL isOK = [str22 writeToFile:@"寫入文件的路徑" atomically:YES encoding:NSUTF8StringEncoding error:nil]
查看全部 -
判斷連個(gè)字符串是否相同;
字符串的比較,需要后續(xù)看:NSComparisonResult;
字符串的分割:
按指定字符分割(componentsSeparatedByString:@"a')、
按范圍截取字符串(substringWithRange)、
從某一位開始街區(qū)字符串(substringFromIndex);
從開始截取到某一位(substringToIndex)、
將字符串拆分成每一個(gè)字符(characterAtInde:i);
備注:NSRange 是個(gè)結(jié)構(gòu)體,里面有兩個(gè)值:起止點(diǎn)location和長(zhǎng)度length;
字符串查找
正向查找制定字符串的位置:(rangeOfString:@"ab"),輸出為(range1.location:%ld或者range1.length:%ld)
字符串替換:
? ? ? 替換某一個(gè)范圍的內(nèi)容 :str18 stringByReplaceCharactersInRange:NSMakeRange(開始位置,結(jié)束位置)withString:@"要替換成什么內(nèi)容")
? ? ? 用指定字符串替換原字符串中的內(nèi)容:(StringByRepalaceOccurencesOfString:(要被替換的內(nèi)容)withString(替換后的字符串));
查看全部 -
在OC語言中,*可代表一個(gè)對(duì)象,@代表一個(gè)對(duì)象或者指針;
OC與C的轉(zhuǎn)換;
格式化字符串、拼接字符串、大小寫的轉(zhuǎn)換、前后綴判斷
查看全部 -
cocoa是OS-x,IOS的編程環(huán)境,提供了原生的API接口
UIKit是UI的類庫;
NSOobject類,分為三大類,負(fù)責(zé)不同的功能
查看全部 -
<img src="https://img1.sycdn.imooc.com//5af2c9f900010bdb05000202.jpg" title="" alt="https://img1.sycdn.imooc.com//5af2c9f900010bdb12460502.jpg" />查看全部
-
1
查看全部 -
OC與C字符串轉(zhuǎn)換查看全部
-
NSString知識(shí)點(diǎn) 1.0 stringByAppendingString: 拼接 2.0 uppercaseString: 大寫 3.0 lowercaseString: 小寫 4.0 hasPrefix: 前綴 5.0 hasSuffix: 后綴 6.0 isEqualToString: 對(duì)比兩個(gè)字符串是否一樣 7.0 componentsSeparatedByString: 將字符串切割成數(shù)組 (如果切割字符串和被切割字符串一樣 數(shù)組為兩個(gè)空元素如果被切割字符串不包含切割字符串?dāng)?shù)組則是元素?cái)?shù)量是一且為被切割字符串) 8.0 substringWithRange 根據(jù)NSRange截取一定范圍的字符串 9.0 substringFromIndex 保存index以后的字符串 10.0 substringToIndex 從首位截取到index 11.0 characterAtIndex 把一個(gè)字符串拆分為每個(gè)字符 12.0 stringByReplacingCharactersInRange:withString: 將NSRange范圍內(nèi)的字符串替換為后面的string 13.0 stringWithContentsOfURL: encoding: error: 讀取網(wǎng)絡(luò)文件 14.0 stringWithContentsOfFile: encoding: error: 讀取本地文件 15.0 writeToURL: atomically: encoding: error: 寫入網(wǎng)絡(luò)文件 16.0 writeToFile: atomically: encoding: error: 寫入本地文件查看全部
-
1.0 stringByAppendingString: 拼接 2.0 uppercaseString: 大寫 3.0 lowercaseString: 小寫 4.0 hasPrefix: 前綴 5.0 hasSuffix: 后綴 6.0 isEqualToString: 對(duì)比兩個(gè)字符串是否一樣 7.0 componentsSeparatedByString: 將字符串切割成數(shù)組 (如果切割字符串和被切割字符串一樣 數(shù)組為兩個(gè)空元素,如果被切割字符串不包含切割字符串,數(shù)組則是元素?cái)?shù)量是一且為被切割字符串) 8.0 substringWithRange: 根據(jù)NSRange截取一定范圍的字符串 9.0 substringFromIndex: 保存index以后的字符串 10.0 substringToIndex: 從首位截取到index 11.0 characterAtIndex: 把一個(gè)字符串拆分為每個(gè)字符 12.0 stringByReplacingCharactersInRange:withString: 將NSRange范圍內(nèi)的字符串替換為后面的string查看全部
-
NSString知識(shí)點(diǎn) 1.0 拼接 stringByAppendingString: 2.0 大寫 uppercaseString 3.0 小寫 lowercaseString 4.0 前綴 hasPrefix 5.0 后綴 hasSuffix查看全部
舉報(bào)