将NSNumber的NSArray转换为NSStrings数组的更好方法

时间:2011-11-14 08:37:53

标签: objective-c cocoa nsarray

我有一个由NSArray组成的NSNumbers,我希望通过获取每个NSArray NSStrings将其转换为stringValue NSNumber 1}}在第一个数组中。

我想到的方法是迭代第一个中的每个值,获取其字符串值并将其添加到另一个数组中。但是应该有一个更优雅的解决方案。你知道吗?

1 个答案:

答案 0 :(得分:32)

NSArray以返回新数组的方式实现Key-Value Coding方法valueForKey:。新数组包含向原始数组中的每个对象询问指定值的结果。在这种情况下,NSNumberstringValue,所以您需要做的就是:

NSArray * b = [a valueForKey:@"stringValue"];

普通的旧快速枚举(或enumerateObjectsUsingBlock:)不会是一个可怕的解决方案。 NSArray valueForKey:的实现最有可能在内部使用for循环,任何稍后阅读它的人都会很容易理解。