Итак, у меня есть nsmutablearray с кучей объектов в нем. Я хочу создать строку с разделителями-запятыми значения id каждого объекта.
Objective-C Простейший способ создания разделенной запятой строки из массива объектов
Ответ 1
Используйте NSArray
экземпляра NSArray
componentsJoinedByString:
В Objective-C:
- (NSString *)componentsJoinedByString:(NSString *)separator
В Свифте:
func componentsJoinedByString(separator: String) -> String
Пример:
В Objective-C:
NSString *joinedComponents = [array componentsJoinedByString:@","];
В Свифте:
let joinedComponents = array.joined(seperator: ",")
Ответ 2
Если вы ищете такое же решение в Swift, вы можете использовать это:
var array:Array<String> = ["string1", "string2", "string3"]
var commaSeperatedString = ", ".join(array) // Results in string1, string2, string3
Чтобы убедиться, что ваш массив не содержит значений nil, вы можете использовать фильтр:
array = array.filter { (stringValue) -> Bool in
return stringValue != nil && stringValue != ""
}
Ответ 3
Создать строку из массива:
-(NSString *)convertToCommaSeparatedFromArray:(NSArray*)array{
return [array componentsJoinedByString:@","];
}
Создать массив из строки:
-(NSArray *)convertToArrayFromCommaSeparated:(NSString*)string{
return [string componentsSeparatedByString:@","];
}
Ответ 4
Swift:)
var commaSeparatedString = arrayOfEntities.joinWithSeparator(",")