asl*_*nci 10 cocoa objective-c nsarray
我有一个NSArray由NSNumbers,我想这个转换成NSArray的NSStrings,通过获取stringValue每个NSNumber第一阵列英寸
我想到的方法是迭代第一个中的每个值,获取其字符串值并将其添加到另一个数组中.但是应该有一个更优雅的解决方案.你知道吗?
Jos*_*ell 32
NSArray实现Key-Value Coding方法valueForKey:,使其返回一个新数组.新数组包含向原始数组中的每个对象询问指定值的结果.在这种情况下,NSNumber有它stringValue,所以你要做的就是:
NSArray * b = [a valueForKey:@"stringValue"];
Run Code Online (Sandbox Code Playgroud)
但是,简单的旧快速枚举(或enumerateObjectsUsingBlock:)并不是一个可怕的解决方案.最有可能NSArray的实现在内部valueForKey:使用for循环,任何稍后阅读它的人都会很容易理解.