2012-04-26 57 views

回答

150

使用NSArray實例方法componentsJoinedByString:

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

例子:

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

+0

所以在我的陣列的對象具有4個或5個屬性,我該如何告訴它只加入id值? – Jhorra 2012-04-26 03:36:57

+1

如果您只記錄一個物體,您會得到什麼?只是ID值?如果是這樣,那麼使用componentsJoinedBuString就可以得到這個結果:試試看看。 – rdelmar 2012-04-26 03:39:15

+0

我會嘗試一下,看看 – Jhorra 2012-04-26 03:43:38

7

如果您正在尋找在雨燕相同的解決方案,您可以使用此:

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

爲了確保您的數組不包含零值,你可以使用過濾器:

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

這似乎並不爲的NSMutableArray在斯威夫特工作。搜索Google尚未透露答案。 – ultrageek 2015-03-08 22:52:40

+0

@Twan謝謝你,你的回答(幾乎)正是我正在尋找的......幾乎是因爲我需要連接可選的字符串,其中一些可能是零(所以我不想連接它們),但是這個解決方案不接受可選項字符串,它需要解開它們......也許過去有類似的問題,如果可以的話,你能幫助我嗎? – cdf1982 2015-04-12 10:31:34

+0

@ cdf1982我已經更新了我的答案。您可以使用過濾器方法執行此操作。 – Antoine 2015-04-12 15:07:30

3

從Array創建字符串:

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

從字符串創建陣列:

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

夫特:)

var commaSeparatedString = arrayOfEntities.joinWithSeparator(",") 
+1

這個問題指定了一種編程語言。請考慮將其改爲客觀 - c。 – handiansom 2017-03-16 05:40:05

+0

@handiansom那是2012年。 – 2017-04-12 09:37:18

+0

是的,我也注意到了。^^ – handiansom 2017-04-12 11:06:38

相關問題