我在目標C iPhone開發一件事是初學者,我覺得我做了很多的進出各種NSArrays的花車獲得(和整數)有從數組中獲取浮點數的簡寫方法嗎?
float myFloatValue = [(NSNumber *)[myArray objectAtIndex:integerSelector] floatValue];
我明白,我需要做這個拳擊是因爲float(或int)不是一個指針,而NSArray只接受指針。
我只是想知道是否有一點點語法糖來縮短這行代碼 - 主要是因爲當我有幾個數組,我循環他們做一些處理,我發現行開始爲了讓代碼可讀,我必須打破從數組中提取數字的線條 - 然後我有很多的樹形線條傾向於使邏輯更難以遵循。
如C#語言我會寫類似
float myResult = myArray[i] + someOtherArray[i+1];
(確定 - 這可能是代碼非常愚蠢的線 - 但是從語法上它很乾淨,我猜是因爲.NET是隱含在那裏做拳擊我不能看到它)
在客觀CI發現自己寫:
float myFloatValue = [(NSNumber *)[myArray objectAtIndex:i] floatValue];
float myOtherFloatValue = [(NSNumber *)[someOtherArray objectAtIndex:i+1] floatValue];
float myResult = myFloatValue + myOtherFloatValue;
我只是想知道,如果我在這裏缺少一個竅門鍵入這一切了手寫。我應該使用NSArray的替代方案嗎?有拳擊/拆箱的快捷方式嗎?
或者我想,我應該只是習慣了它,並停止哀;)
不,Objective-C很糟糕。但是如果你只是存儲浮動數據,你可以使用C數組。 C數組的問題是動態內存分配。 – vakio
那麼,至少,你爲什麼要投麼?這不是C++。你可以發送你想要的任何消息給一個'id'對象。 – StilesCrisis