从每个NSArray项的描述方法构造NSString?

时间:2012-08-30 14:48:49

标签: objective-c nsstring nsarray

我有一个NSArray,其中每个对象都包含一个名为Card的特定类。卡有一种描述方法。我想使用description方法的输出连接数组中的所有对象,用空格分隔。是否有一个简单的做法,没有手动迭代NSArray和操纵NSString

类似于以下制作的代码?

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

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

当然,我可以自己实现这个,但我怀疑可能已经存在这样做的事情。

2 个答案:

答案 0 :(得分:2)

我认为没有这样的方法。您也可以在NSString的类别中实现它。

抱歉,我发现了这个:

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

来自文档:

  

构造并返回一个NSString对象,该对象是结果   在数组的元素之间插入给定的分隔符。

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

答案 1 :(得分:0)

对每个NSArray项目的描述方法执行此操作:

NSMutableString * result = [[NSMutableString alloc] init];
for (NSObject * obj in array)
{
  [result appendString:[NSString stringWithFormat:@" %@"[obj description]]];
}
NSLog(@"The concatenated string is %@", result);