Objective-C語法基礎:NSString核心操作大全
創建與初始化
不可變 vs 可變
比較與查找
| 操作 | 方法 | 返回 |
| 相等 | [s1 isEqualToString:s2] | BOOL |
| 字典序比較 | [s1 compare:s2] | NSComparisonResult |
| 忽略大小寫 | [s1 caseInsensitiveCompare:s2] | NSComparisonResult |
| 選項比較 | [s1 compare:s2 options:NSCaseInsensitiveSearch|NSNumericSearch] | NSComparisonResult |
| 前綴 | [s hasPrefix:@"pre"] | BOOL |
| 後綴 | [s hasSuffix:@".txt"] | BOOL |
| 查找子串 | [s rangeOfString:@"sub"] | NSRange |
大小寫轉換
[s substringToIndex:5] // 0~4
[s substringFromIndex:5] // 5~end
[s substringWithRange:NSMakeRange(2, 4)] // 位置2長度4
路徑操作
字符串<->數組/數據轉換
字符串(連接)
NSString *joined = [arr componentsJoinedByString:@"-"]; // "a-b-c"
// 數據編碼
NSData *data = [s dataUsingEncoding:NSUTF8StringEncoding];
NSString *s2 = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
寫入文件
總結
NSString是Foundation核心類,特點:
• 不可變、線程安全、Unicode就緒
• 豐富的創建/比較/查找/截取/路徑/編碼/轉換API
• NSMutableString提供可變操作
• 內存管理:ARC下自動,MRC下遵循alloc/init/copy持有、stringWith...自動釋放
熟練掌握上述API,能解決90%以上的字符串處理需求。