我對Objective-C世界很新,而且我有很長的.net/C#歷史,所以很自然地我傾向於使用我的C#智能。NSArray's,原始類型和拳擊哦,我的!
現在,這裏的問題:我覺得真的很傾向於建立某種類型簡單 Objective-C的收集保存原始類型,因爲我不喜歡包裝一個原始類型到一個對象(即NSNumber的)的整體概念和然後將其添加到NSArray等集合中。
事情是,我完全理解NSArray的唯一操作對象。但是,對我而言,我們只是因爲沒有集合存在來處理原始Integers而被迫使用盒裝原語,這對我來說實在是愚蠢。
所以C#的人就會知道我說的是在舊時代與.NET。一般來說,當泛型不在時,您可以使用簡單的數組或ArrayList。 ArrayList實質上是強迫你裝箱你的原始類型,但它實際上是在幕後做的,你付出了代價(在性能方面)。
如果你不能處理性能成本,那麼你滾動您自己的自定義集合或最終使用的泛型出現時。
在Objective-C的世界裏接縫,我們不得不再次處理這個問題,但它像蘋果開發者真的不關心,或者它只是不是一個大問題還是什麼現在。
所以我的問題是:這裏推薦的做法是什麼?我是否應該嘗試構建自己的自定義Objective-C集合來保存NSInteger?或者我應該只使用本地C數組作爲同胞編碼器備註說明這個博客帖子:NSArray vs. C Array performance
還是我只是堅持使用蘋果的內置集合和勉爲其難。它接近Memo解釋的性能特徵在構建性能關鍵應用程序時值得考慮。
這篇文章是一口滿口,但我不得不把它從我的胸部。
這只是一些錯誤,你對語言/框架,或者你有在性能受到影響,具體的案例? – sbooth 2009-11-13 04:23:37