Jhorra
Jhorra

Reputation: 6321

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

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.

Upvotes: 67

Views: 39964

Answers (4)

ioopl
ioopl

Reputation: 1745

Swift

var commaSeparatedString = arrayOfEntities.joinWithSeparator(",")

Upvotes: 2

rdelmar
rdelmar

Reputation: 104092

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: ",")

Upvotes: 173

meda
meda

Reputation: 45500

Create String from Array:

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

Create Array from String:

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

Upvotes: 5

Antoine
Antoine

Reputation: 23996

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 != ""
}

Upvotes: 7

Related Questions