首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

iOS NSArray 連接所有元素為字串的一行代碼:componentsJoinedByString

     編輯:程式設計綜合問答

標準 API


NSArray *array = @[@"A", @"B", @"C", @"D"];
NSString *joined = [array componentsJoinedByString:@","];
// 結果:@"A,B,C,D"

進階:元素非字串時自動調用 description


NSArray *mixed = @[@1, @2.5, @YES, @"text"];
NSString *joined = [mixed componentsJoinedByString:@" | "];
// 結果:@"1 | 2.5 | 1 | text" (YES -> 1)
// 內部自動調用每個元素的 description 方法

自定義分隔符、前綴、後綴


// 手動構建更複雜格式
NSMutableString *builder = [NSMutableString string];
[array enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL *stop) {
    if (idx > 0) [builder appendString:@", "];
    [builder appendFormat:@"[%@]", obj]; // 每個元素包裹 []
}];
NSString *custom = builder;
// 結果:@"[A], [B], [C], [D]"

Swift 版本


let array = ["A", "B", "C"]
let joined = array.joined(separator: ",") // "A,B,C"

// 非字串陣列
let mixed = [1, 2.5, true, "text"]
let joined2 = mixed.map(String.init).joined(separator: " | ") // "1 | 2.5 | true | text"

總結

componentsJoinedByString: 是連接陣列元素為字串的**標準、最高效**方法。自動處理元素轉字串、記憶體優化。複雜格式用 NSMutableString + enumerateObjectsUsingBlock: 靈活構建。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved