標籤:
今天主要練習NSString NSMutableString NSArray NSMutableArray
NSString(字串)
方法1: [[NSString alloc] initWithFormat:@""] 建立一個字串的對象,並將其格式化,然後給字串對象進行賦值
方法2: stringWithFormat:@"" 結構等於[[NSString alloc]initWithFormat:@""]; 便利構造器建立字串
方法3:stringWithUTF8String 將C語言字串轉化為OC的字串對象,這個很重要 注:我是C語言字串,所以沒有加@符號
以上的方法是為了瞭解NSString 下面我們介紹一下NSString的12個方法
建立一個字串的對象,並且給字串對象賦值一個網站
NSString *str = [[NSString alloc] initWithFormat:@"http://item.taobao.com/item.htm?spm=a230r.1.14.83.wdbg0h&id=44327943363&ns=1&abbucket=2#detail"];
//1.擷取字串的長度 關鍵字length
NSInteger length = [str length];
//2.將字串對象變成大寫的 關鍵字 uppercaseString
NSString *upperStr = [str uppercaseString];
//3.將字串對象變成小寫 關鍵字 lowercaseString
NSString *lowerStr = [str lowercaseString];
//4.判定字串開頭 關鍵字:hasPrefix
BOOL isBegin = [str hasPrefix:@"http:"];
//1代表YES 或者 TRUE
//5.判定字串結尾 關鍵字hasSuffix
BOOL isEnd = [str hasSuffix:@"http:"];
//6.對字串進行拼接 關鍵字:stringByAppendingString 注:會經常使用
NSString *appendStr = [str stringByAppendingString:@"/pinjie"];
//7.對字串進行替換 關鍵字:stringByReplacingOccurrencesOffString
//注:替換的是字串,而不是字元
NSString *replaceStr = [str stringByReplacingOccurrencesOfString:@"http" withString:@"mmmm"];
//8.對字串進行比較 關鍵字:compare 注:會經常使用
//注:列印結果如果為-1 表示前面的小 如果是0 表示兩個相等 如果是1 表示前面的大
NSInteger result = [@"cc" compare:@"bb"];
//9.判斷字串是否相等 關鍵字:isEqualToSting
BOOL isEqual = [@"ab" isEqualToString:@"ac"];
//10.1 截取字串 關鍵字:substringFromIndex
NSString *subStr1 = [str substringFromIndex:10];
//substringFromIndex: 表示從給定的下標開始截取到字串結束(包含當前下標);
//10.2 截取字串 關鍵字:substringToIndex
NSString *subStr2 = [str substringToIndex:25];
//截取第一個字元到第25個
//10.3 截取字串 關鍵字:substringWithRange
//OC中提供了很多可以快速建立結構體的方法,主要以NSMake開頭 + 對應的結構體名字,例如:(NSMakeRange(位置)(長度))
NSString *rangeStr = [str substringWithRange:NSMakeRange(7, 25)];
//11.擷取字串的範圍 rangeOfString
NSRange range = [str rangeOfString:@"taobao"];
NSLog(@"%ld,%ld",range.location,range.length);
//12.將基本類型轉化為字串 關鍵字:initWithFormat
//NSString *intStr = [[NSString alloc] initWithFormat:@"%d",10];
NSString *intStr = @"10";//笑笑文法
//對於NSString對象來說,是不可以改變的,不管以上的那種方法對NSString做了什麼操作,都並沒有該表NSString的本身,而是改變了NSString的副本.
//如果想要對NSString本身進行改變,那麼就需要使用它的子類NSMutableString 在以上方法的基礎上,多了增 刪 改
NSMutableString *strmut = [[NSMutableString alloc] initWithFormat:@"我是可變的字串"];
//插入方法 關鍵詞:insert
[strmut insertString:@"哈哈" atIndex:8];
NSLog(@"%@",strmut);
//列印結果為:我是可變的字串哈哈
//拼接方法 關鍵詞:append
[strmut appendString:@"/你笑啥"];
//列印結果為:我是可變的字串哈哈/你笑啥
//刪除方法 關鍵詞:delete
[strmut deleteCharactersInRange:NSMakeRange(6,7 )];
//重設方法 關鍵字:set
[strmut setString:@"我一直都在變化"];
NSArray (數組)
//建立三個字串對象
NSString *str1 = [NSString stringWithFormat:@"iPhone4"];
NSString *str2 = [[NSString alloc] initWithFormat:@"iPhone5"];
NSString *str3 = @"iPhone6";
NSLog(@"%@ %@ %@",str1,str2,str3);
NSArray
方法1: initWithObjects 因為是數組,所以需要傳入多個對象,這些對象之間用","隔開,最後以nil結尾.
建立一個數組對象來接收所傳入的對象們.
NSArray *arr1 = [[NSArray alloc] initWithObjects:str1,str2,str3, nil];
NSLog(@"%@",arr1);
方法2:objectAtIndex: 通過下標找到對象 只會找到第一個符合的對象,即使在第一個對象之後在有符合的也不會顯示,找到第一個之後,就回返回.
NSString *str = [arr1 objectAtIndex:1];
NSLog(@"%@",str);//NSString類型 iPhone5
NSInteger index = [arr1 indexOfObject:str2];
NSLog(@"%ld",index);//arr1下標為1
//方法3:查看數組元素個數
NSInteger count = [arr1 count];
NSLog(@"%ld",count);//結果:arr1裡有3個元素
方法4:通過便利列印出各個元素
for(int i = 0; i < arr1.count; i++){
NSLog(@"%@",[arr1 objectAtIndex:i]);
}
方法5:排序 sortedArrayUsingSelector:@selector(compare:)這個方法是系統提供的,內部已經做好了排序的,所以知道方法就好,不需要過分的追究.
NSArray *sortArray = [arr1 sortedArrayUsingSelector:@selector(compare:)];
NSLog(@"%@",sortArray);
NSMutableArray(可變數組)
//NSMutableArray 繼承與NSArray 所以NSArray的方法NSMutableArray也都可以使用
//建立可變的數組對象
NSMutableArray *mutArray = [[NSMutableArray alloc] initWithObjects:str1,str3, nil];
方法1:添加 addObject
[mutArray addObject:str1];
[mutArray addObject:str2];
[mutArray addObject:str3];
NSLog(@"%@ %@ %@",str1,str2,str3);
方法2:刪除 removeObjectAtIndex
[mutArray removeObjectAtIndex:1];
[mutArray removeObjectAtIndex:0];
[mutArray removeObjectAtIndex:2];
NSLog(@"%@",mutArray);
方法3:交換 exchangeObjectAtIndex:
[mutArray exchangeObjectAtIndex:1 withObjectAtIndex:0];
NSLog(@"%@",mutArray);
方法4:排序 sortUsingSelector:@selector(compare:)
NSString *str1 = @"Jack";
NSString *str2 = @"Henry";
NSString *str3 = @"ELyse";
NSString *str4 = @"John";
NSString *str5 = @"Justin";
NSMutableArray *mutableArray = [[NSMutableArray alloc] initWithObjects:str1,str2,str3,str4,str5, nil];
[mutableArray sortUsingSelector:@selector(compare:)];
NSLog(@"%@",mutableArray);
//方法5:擷取數組第一個元素 firstObject
[mutableArray firstObject];
NSLog(@"%@",mutableArray.firstObject);
//方法5:擷取數組最後一個元素
[mutableArray lastObject];
NSLog(@"%@",mutableArray.lastObject);
}
return 0;
Objective-C NSString的方法