學習objective-c的編程有一陣子了,現在總算告一段落了。下一步該進行iOS下編程的學習。再次之前,為了避免忘記,決定用幾天的時間,將之前學過的東西總結一下,省的忘記了。
對於簡單的文法,例如類的建立、init方法的重寫,以及屬性定義什麼的,常常用到,忘記的可能性很小,就懶得寫了。今天首先從字串的操作開始。
對於字串的操作,總結有以下幾點:
1. 字串常量NSString * string = @"content"; 以及 [NSString stringWithString]建立的字串是永遠都不能被release的。如果是大段的字串常量內容,最好放在資源檔中進行讀取,而不要在程式中直接通過常量來定義。
2. 字串的尋找:
NSRange range = [str rangeOfString:searchingString];
3. 字串的替換:
//find: searching for.
//rpl: the replacement.
NSString * source = [NSString stringWithCString:"asdfasdfasdf" withEncoding:NSUTF8StringEncoding];
NSMutableString * mul = [source mutableCopy];
NSString * result = [mul stringByReplacingOccurrancesOfString:find withString:rpl];
4. 將字串按照某個字元來進行分割。始終認為這個名字起的非常怪異。
NSArray * ary = [[@"1,2,3,4" componentsSeperatedByString:@","]];// 將會得到數組[@"1", @"2", @"3", @"4"];
5. 將字串進行trim:
NSCharacterSet * chset = [NSCharacterSet charactorSetWithCharactersInString:@" "];
NSString * str = [@" ct" stringByTrimmingCharactersInSet:chset];//將會得到@“ct";多說一句,如果離開xcode的代碼提示和自動完成功能,這個真沒法活了。看來當初apple被微軟擠兌也不是沒有道理的。
6. 得到除了那幾個標準的NS編碼以外的其他編碼:
NSStringEncoding enc = CFStringConvertEncodingToNSStringEncoding(kCFStringEncodingGB_18030_2000);//得到GB2312的編碼類別。
其他的還有ANSI什麼的,就不寫了,只要記住使用CFStringConvertEncodingToNSStringEncoding這個函數,以及kCFStringEncoding這個開頭就行了,都可以在CFStringEncodingExt.h這個標頭檔中查到。