在我的應用程序委託中,我有一個變量,各種控制器使用(感謝新聞組建議如何從控制器訪問此類變量)。每個控制器可能需要多次訪問它。我用這個代碼:iPhone SDK:速度與內存的差距
((MyAppDelegate *) [UIApplication sharedApplication].delegate).soundEffects
忽略可讀取的問題(如noneone等他們我永遠不會看到這些SRC),它會改變什麼,如果在控制器初始化我有我獲得一個指向應用程序的委託對象並訪問它像這樣:
... MyAppDelegate *foo = [UIApplication sharedApplication].delegate ... foo.soundEffects ...
它看起來像第二種方法需要更多的MEM存儲空間來保存實例變量foo的,而我的第一種方法可能會比較慢去的變量。
有什麼更好?
謝謝
還要記住,編譯器非常擅長優化代碼,並且很有可能它會以任何方式生成相同的代碼。如上所述,選擇最易讀的代碼,使用工具確定性能優化的位置。 – zaph 2009-10-08 11:38:39
謝謝,cduhn。聽起來像我在第2版中爲我剪下的作品:) – leon 2009-10-08 16:07:43