1、使用蘋果幫助文檔
數組
查閱頭文件:COMMAND + 左擊app
查閱文檔:框架
a.help->Documentation and API Referencespa
b.Command+Shitf+0code
c.Alt + 左擊orm
⽂檔基本信息對象
Inherits from 繼承⾃繼承
Conforms to 遵循什麼協議ci
Framework 屬於哪一個框架rem
Availability 何時可⽤的
Declared in 聲明在什麼頭⽂件⾥
Related documents 相關⽂檔
Sample code ⽰例代碼
2、字符串類
#pragma mark ---- NSString 不可變字符串 ----
#pragma mark -- 建立字符串對象
// 字符串常量
NSString * s1 = @"Hello";
// 格式化字符串
NSString * s2 = [[NSString alloc] initWithFormat:@"%.1f",6.5];
NSString * s3 = [[NSString alloc] initWithFormat:@"%@ world", s1];
// 便利構造器 stringWithString 實際爲Copy,s四、s3地址不同
NSString * s4 = [NSString stringWithString:s3];
// 從文件中讀取文本,建立字符串對象
NSString * s5 = [[NSString alloc] initWithContentsOfFile:@"pathUrl" encoding:NSUTF8StringEncoding error:nil];
// 使用C語言的字符串建立
NSString * s6 = [NSString stringWithCString:"Hello C " encoding:NSUTF8StringEncoding];
// 轉換爲C語言的字符串
char *char = s6.UTF8String;
#pragma mark -- 字符串長度、範圍
NSString * testStr = [NSString stringWithFormat:@"BJS150726"];
// 獲取字符串長度
NSUInteger strLength = [testStr length];
// 範圍
// NSRange是結構體類型
NSRange range = [testStr rangeOfString:@"0726"]; // 輸出{5,4}
/*--------NSRange to NSString--------*/
NSLog(@"%@", NSStringFromRange(range));
NSRange range1 = NSMakeRange(5, 4); // 輸出{5,4}
#pragma mark --字符串比較
// 判斷字符串是否包含某個前綴
BOOL r1 = [testStr hasPrefix:@"BJS"]; // true包含, false不包含//hasSuffix 後綴
// 比較兩個字符串大小
NSComparisonResult comp = [@"abc" compare:@"xyz"]; // comp=-1, 即str1<str2//NSComparisonResult爲枚舉
// 判斷是不是字符串的字串
/*---------------方法一 iOS 8 & OSX 10.10 available------------------*/
[testStr containsString:@"0726"]; // 包含true
// 方法2
NSRange range2 = [testStr rangeOfString:@"0725"];
BOOL isIncluded = range2.length; //
// 判斷兩個字符串對象的內容是否相同
[@"abc" isEqualToString:@"xyz"]; // 相等返回true
#pragma mark --字符串大小寫轉換
NSString * str3 = @"ABCdef";
NSString * upStr3 = [str3 uppercaseString]; //大寫
NSString * loStr3 = [str3 lowercaseString]; //小寫
#pragma mark --字符串截取
// 從起始至index-1
NSString * cutTestStrToIndex = [testStr substringToIndex:3]; // 共截取3個字符,爲@"BJS"
// 從index至末尾
NSString * cutTestStrFromIndex = [@"BJS150726" substringFromIndex:5]; // @"1507"
NSString * cutTestStrWithRange = [testStr substringWithRange:NSMakeRange(3, 2)]; //15
#pragma mark --字符串拼接、替換
// 拼接和替換,返回新NSString對象
// append
NSString * str5 = @"北京";
NSString * appendStr = [str5 stringByAppendingString:@"藍鷗科技"]; //北京藍鷗科技
NSString * appendFormatStr = [appendStr stringByAppendingFormat:@"BJS%@%@",@"150726", @"-94"]; //北京藍鷗科技BJS150726-94
// replace
NSString * repStr = [str5 stringByReplacingOccurrencesOfString:@"北" withString:@"南"]; // 南京 //根據字符串替換
NSString * repStr2 = [str5 stringByReplacingCharactersInRange:NSMakeRange(0, 1) withString:@"南"]; // 南京 //根據位置替換
#pragma mark --字符串和基本數據類型轉換
// 將字符串轉換爲整形數
NSString * str6 = @"123";
int a = [str6 intValue]; // a=123 其餘value進入intValue中看
#pragma mark -----NSMutableString 可變字符串 -----
// 建立可變字符串對象
NSMutableString *ms1 = [[NSMutableString alloc] init];
[ms1 setString:@"hello"];
// 拼接
[ms1 appendString:@"world"];
NSLog(@"ms1 = %@",ms1);
// 插入
[ms1 insertString:@" " atIndex:5];
// 替換
[ms1 replaceCharactersInRange:NSMakeRange(6, 5) withString:@"lanou"];
// 刪除
[ms1 deleteCharactersInRange:NSMakeRange(5, 6)];
3、數組對象
集合(collection):iOS中存放數據的容器類
#pragma mark -----NSArray 不可變數組-----
/*
1、數組對象中只能存儲對象類型(*),不能存儲基本數據類型
2、數組對象中能夠同時存儲不一樣類型的對象
3、有序,下標從0開始/越界崩潰
*/
// 建立數組對象 /nil爲結束標誌
NSArray * array1 = [[NSArray alloc] initWithObjects:@"你好", @"2", @"3", nil];
// 使用數組建立數組
NSArray * array2 = [NSArray arrayWithArray:array1];
// 獲取數組元素個數
NSUInteger uIntNum = [array1 count];
uIntNum = [array1 indexOfObject:@"你好"];
// 語法糖
// 建立數組
NSArray * array3 = @[@"1", @"2", @"hi"];
// 訪問元素 array3[0];
#pragma mark -----NSMutableArray 可變數組-----
// 建立
NSMutableArray * marr1 = [NSMutableArray array];
// 添加
[marr1 addObject:@"10"];
[marr1 addObject:@"20"];
// 插入
[marr1 insertObject:@"3" atIndex:2];
// 交換數組中兩個數組元素的位置
[marr1 exchangeObjectAtIndex:0 withObjectAtIndex:2];
// 替換
[marr1 replaceObjectAtIndex:2 withObject:@"one"];
// 移除
//[marr1 removeAllObjects];
// 遍歷 //符合getter語法的方法,都可用.調用
for (int i = 0; i < marr1.count; i++) {
NSLog(@"%@", marr1[i]);
}
QA :
QA: oc是否有默認形參值
ans:NO!