2012-04-26 16 views

答えて

150

NSArrayインスタンスメソッドcomponentsJoinedByString:を使用してください。

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

例:

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

+0

だから私の配列内のオブジェクトは、4つのまたは5の特性を持っていますid値だけを結合する方法を教えてください。 – Jhorra

+1

オブジェクトのいずれかをログに記録すれば、何が得られますか? id値だけ?その場合は、componentsJoinedBuStringを使用して取得します。試してみてください。 – rdelmar

+0

私はそれを試してみて – Jhorra

7

あなたはスウィフトで同じソリューションを探している場合は、この使用することができます:あなたの配列が含まれていないことを確認するには

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

これはSwiftのNSMutableArrayではうまくいかないようです。 Googleを検索してもまだ答えは明らかにされていない。 – ultrageek

+0

@Twanありがとうございます、あなたの答えは(ほとんど)私が探していたものです...ほとんどの場合、オプション文字列を連結する必要があるため、そのうちのいくつかはゼロになる可能性があります(したがって、連結したくありません)。しかし、この解決策はオプション文字列を受け入れていない、それらをアンラップする必要があります...多分過去に似たような問題があったでしょうか? – cdf1982

+0

@ cdf1982私は自分の答えを更新しました。フィルタメソッドを使用してこれを行うことができます。 – Antoine

3

配列から文字列を作成します。

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

を文字列から配列を作成します。

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

スウィフト:)

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

質問はプログラミング言語を指定しました。目的に合わせて変更することを検討してください。 – handiansom

+0

@handiansomそれは2012年だった。 –

+0

うん、私も気づいた。^^ – handiansom

関連する問題