0

我有一个NSArray,其中每个对象都包含一个名为 Card 的特定类。卡片有一个描述方法。我想使用描述方法的输出连接数组中的所有对象,用空格分隔。是否有一个简单的方法,无需手动迭代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 回答