我有一个由NSArray
组成的NSNumbers
,我希望通过获取每个NSArray
NSStrings
将其转换为stringValue
NSNumber
1}}在第一个数组中。
我想到的方法是迭代第一个中的每个值,获取其字符串值并将其添加到另一个数组中。但是应该有一个更优雅的解决方案。你知道吗?
答案 0 :(得分:32)
NSArray
以返回新数组的方式实现Key-Value Coding方法valueForKey:
。新数组包含向原始数组中的每个对象询问指定值的结果。在这种情况下,NSNumber
有stringValue
,所以您需要做的就是:
NSArray * b = [a valueForKey:@"stringValue"];
普通的旧快速枚举(或enumerateObjectsUsingBlock:
)不会是一个可怕的解决方案。 NSArray
valueForKey:
的实现最有可能在内部使用for
循环,任何稍后阅读它的人都会很容易理解。