0

NSArray各オブジェクトに Card という特定のクラスが含まれている があります。カードには記載方法があります。スペースで区切られた description メソッドの出力を使用して、配列内のすべてのオブジェクトを結合したいと考えています。NSArrayを手動で反復して操作することなく、これを行うのは簡単NSStringですか?

次の構成コードに似たものはありますか?

NSArray *myArray = getCards(); // fetches 10 items or more
NSString *myString = [myArray joinUsingDescriptionMethodSeparatedBy:@" "];

また

NSString *myString = [NSString stringFromArrayDescriptionMethods:myArray separatedBy:@" "];

当然、これを自分で実装することもできますが、これを行うものが既に存在する可能性があると思います。

4

2 に答える 2

2

そのような方法はないと思います。NSString のカテゴリに実装することもできます。

申し訳ありませんが、私はこれを見つけました:

NSString * result = [[array valueForKey:@"description"] componentsJoinedByString:@""];

ドキュメントから:

配列の要素間に特定のセパレータを挿入した結果である NSString オブジェクトを構築して返します。

- (NSString *)componentsJoinedByString:(NSString *)separator
于 2012-08-30T14:57:09.463 に答える
0

各 NSArray アイテムの説明メソッドに対してこれを行います。

NSMutableString * result = [[NSMutableString alloc] init];
for (NSObject * obj in array)
{
  [result appendString:[NSString stringWithFormat:@" %@"[obj description]]];
}
NSLog(@"The concatenated string is %@", result);
于 2012-08-30T14:59:04.900 に答える