Objective-C Simplest way to create comma separated string from an array of objects

38,690

Solution 1

Use the NSArray instance method componentsJoinedByString:.

In Objective-C:

- (NSString *)componentsJoinedByString:(NSString *)separator

In Swift:

func componentsJoinedByString(separator: String) -> String

Example:

In Objective-C:

NSString *joinedComponents = [array componentsJoinedByString:@","];

In Swift:

let joinedComponents = array.joined(seperator: ",")

Solution 2

If you're searching for the same solution in Swift, you can use this:

var array:Array<String> = ["string1", "string2", "string3"]
var commaSeperatedString = ", ".join(array) // Results in string1, string2, string3

To make sure your array doesn't contains nil values, you can use a filter:

array = array.filter { (stringValue) -> Bool in
    return stringValue != nil && stringValue != ""
}

Solution 3

Create String from Array:

-(NSString *)convertToCommaSeparatedFromArray:(NSArray*)array{
    return [array componentsJoinedByString:@","];
}

Create Array from String:

-(NSArray *)convertToArrayFromCommaSeparated:(NSString*)string{
    return [string componentsSeparatedByString:@","];
}

Solution 4

Swift

var commaSeparatedString = arrayOfEntities.joinWithSeparator(",")
Share:
38,690
Suspe18
Author by

Suspe18

Updated on July 05, 2022

Comments

  • Suspe18
    Suspe18 almost 2 years

    So I have a nsmutablearray with a bunch of objects in it. I want to create a comma separated string of the id value of each object.