的陣列更好的辦法我有一個NSArray
由NSNumbers
,我想將其轉換爲的NSStrings
的NSArray
,通過讓每個NSNumber
的stringValue
第一陣列英寸到的NSArray轉換NSNumbers到NSString的
我想到的方法是迭代第一個值中的每個值,獲取其字符串值並將其添加到另一個數組中。但是應該有一個更優雅的解決方案。你知道嗎?
的陣列更好的辦法我有一個NSArray
由NSNumbers
,我想將其轉換爲的NSStrings
的NSArray
,通過讓每個NSNumber
的stringValue
第一陣列英寸到的NSArray轉換NSNumbers到NSString的
我想到的方法是迭代第一個值中的每個值,獲取其字符串值並將其添加到另一個數組中。但是應該有一個更優雅的解決方案。你知道嗎?
NSArray
以這樣一種方式實現了Key-Value Coding方法valueForKey:
它返回一個新的數組。新數組包含詢問原始數組中每個對象的指定值的結果。在這種情況下,NSNumber
有stringValue
,因此,所有你需要做的就是:
NSArray * b = [a valueForKey:@"stringValue"];
普通老式快速列舉(或enumerateObjectsUsingBlock:
)不會是一個可怕的解決方案,但。 NSArray
的實現valueForKey:
很可能在內部使用for
循環,任何稍後閱讀它的人都會很容易理解這一點。
我認爲你的解決方案是最優雅的:-)因爲它簡單明瞭 – Victor
如果你做出的努力不僅僅是尋找比3行代碼更好的解決方案,那麼你就有了太多的免費時間。 – morningstar
@morningstar::)實際上我沒有那麼多時間,情況恰恰相反,但有時框架提供了令人敬畏的方法,你會後悔不知道他們。我喜歡找出那些如果有的話。 – aslisabanci