1. 蘋(píng)果開(kāi)發(fā)者文檔
蘋(píng)果每次iOS版本的升級(jí), 都會(huì)更新大量的API, 并提供相應(yīng)的參考文檔!
API(Application Programming Interface,應(yīng)用程序編程接口)是一些預(yù)先定義的函數(shù), 目的是提供該應(yīng)用程序與開(kāi)發(fā)者人員基于某軟件或者硬件得以訪問(wèn)一組編程的能力, 而無(wú)需訪問(wèn)遠(yuǎn)嗎. 或理解內(nèi)部的工作機(jī)制的細(xì)節(jié).
Xcode -> Help->Documentation and API Reference 里面是蘋(píng)果的開(kāi)發(fā)者文檔!
2. Foundation
Foundation 框架是Cocoa變成. iOS檳城的基礎(chǔ)框架, 包括" 字符串, 集合, 日期, 時(shí)間等基礎(chǔ)類(lèi)!
字符串, 數(shù)組, 字典. 都屬于Foundation框架.
3. 字符串
c語(yǔ)言中, 字符串是由char(ASCII碼)組成;
OC中, 字符串是由unichar(Unicode)字符串組成;
NSString, 不可變字符串: 即創(chuàng)建以后, 內(nèi)容不可以修改!
NSMutableString 可變字符串, 創(chuàng)建之后內(nèi)容可變;
創(chuàng)建一個(gè)字符串, 可以使用實(shí)例方法和構(gòu)造器!
-
NSString
- 創(chuàng)建不可變字符串
初始化創(chuàng)建
NSString *name = [[NSString alloc] initWithString:@"zhangsan"];
便利構(gòu)造器創(chuàng)建
NSString *name = [NSString stringWithString:@"1234567890"];
常用字符串創(chuàng)建 直接創(chuàng)建
- 創(chuàng)建不可變字符串
NSString *name = @"1234567890";
獲取字符串長(zhǎng)度
NSLog(@"length = %lu",[name length]);
NSLog(@"length = %lu", name.length);
打印結(jié)果
; [1371:303] length = 10-
獲取子字符串, 關(guān)鍵字
subs
為字符串 index 下標(biāo)-
NSString *str1 = [name substringFromIndex: 3]; NSLog(@"str1 = %@", str1);
從下標(biāo)為3 的開(kāi)始獲取
打印結(jié)果str1 = 4567890
-
NSString *str2 = [name3 substringToIndex: 3]; NSLog(@"str2 = %@", str2);
到下標(biāo)為3的( 不含下標(biāo)為3的 );
打印結(jié)果str2 = 123
; -
NSRange range = NSMakeRange(2, 3); NSString *str3 = [name3 substringWithRange:range];
NSLog(@"str3 = %@", str3);
表示從第幾個(gè)開(kāi)始, 取后邊幾個(gè)數(shù)
打印結(jié)果str2 = 123
;
-
拼接字符串 關(guān)鍵字 Appending
NSString *pro = @"河南省";
NSString *city = @"北京";
NSString *local = [pro stringByAppendingString: city];
NSLog(@"local = %@", local);
打印結(jié)果
local = 河南北京
-
替換字符串 關(guān)鍵字
replace
NSString *word = @"hello";
NSString *newWord =[word stringByReplacingOccurrencesOfString:@"e" withString:@"o"];
NSLog(@"neWord = %@", newWord);
打印結(jié)果
neWord = hollo
// 字符替換 把e換成o;替換一部分
NSRange range1 = NSMakeRange(2, 1);
// 從下標(biāo)2開(kāi)始取1個(gè)范圍, 替換一部分
NSString *word2 = [word stringByReplacingCharactersInRange:range1 withString:@"o"];
NSLog(@"Word2 = %@", word2);
打印結(jié)果
word3 = heolo;
字符串相等; EqualToString
NSString *userName = @"leo";
if ([userName isEqualToString:@"leo"]) {
NSLog(@"登陸");
} else {
NSLog(@"用戶(hù)不存在");
}`字符串比較 compare
NSString *str1 = @"abc";
NSString *str77 = @"abd";
NSLog(@"比較結(jié)果: %ld",[str77 compare:str77]);
打印結(jié)果: 0 // 和C語(yǔ)言中字符串比較相同判斷是否是以 某字符串開(kāi)始或結(jié)尾
-(BOOL)hasPrefix:nsstring
測(cè)試字符串是否以什么開(kāi)始
-(BOOL)hasSuffix:nsstring
測(cè)試字符串是否以 什么 結(jié)尾字符串大小寫(xiě)轉(zhuǎn)換 關(guān)鍵字 case
NSString *str1 = @"I am a Student";
字符串全部改為小寫(xiě)字母
NSString *str99 = [str9 lowercaseString];
NSLog(@"str99: %@", str99);
// 打印
str1: i am a student
-
數(shù)值與字符串相互轉(zhuǎn)化
// 字符串轉(zhuǎn)換數(shù)數(shù)字
NSString *str = @"123456"
;
double p = [str doubleValue];
NSLog(@"p = %lf", p);
** P = 123456;**// 數(shù)字轉(zhuǎn)字符串
int a = 12345;
NSString *str = [NSString stringWithFormat:@"%d", a];
NSLog(@" str = %@", str);
打印結(jié)果: str = 12345; -
可變字符串 NSMutablString
NSMutableString *mstr1 = [NSMutableString stringWithString:@"可變字符串"];
NSMutableString *mstr2 = [NSMutableString stringWithFormat:@"可變字符串%@",mstr1];
這個(gè)也是賦值, 后一個(gè) %@ 算是占位符 也就是吧mstr1的值也讀取到了
打印后
mstr2 = 可變字符串可變字符串,
- 拼接字符串
[mstr1 appendString:@"可變長(zhǎng)"];
NSLog(@"mstr = %@", mstr1);
打印后
mstr = 可變字符串可變長(zhǎng)
- 拼接字符串
插入字符串
[mstr1 insertString:@"任意" atIndex:6];
NSLog(@"mstr1 = %@", mstr1);
打印
mstr1 = 可變字符串可任意變長(zhǎng)
//
這只是NSString文檔中的一部分, 還有好多方法可以調(diào)用;當(dāng)要使用的時(shí)候, 可以看開(kāi)發(fā)者文檔, 來(lái)查找你所需要的方法,