2012-07-17 49 views
4

沒有啓用ARC-,我們寫ARC是否消除了對臨時變量的需求?

NSArray *items = [[NSArray alloc] initWithObjects: 
        @"a", 
        @"b", 
        @"c", 
        @"d", 
        nil]; 

self.allItems = items; 
[items release]; 

我想知道我們是否可以用快捷鍵這樣啓用ARC-:

self.allItems = [[NSArray alloc] initWithObjects: 
        @"a", 
        @"b", 
        @"c", 
        @"d", 
        nil]; 

我們可以消除items當我們使用ARC?最佳做法是什麼?

+0

我將標題改爲「ARC是否消除了臨時變量的需求?」。現在,聽起來ARC正在做一些背後的編譯優化,這不是你想要問的。 – 2012-07-17 05:13:00

+0

感謝ranReloaded。我修改了問題標題。 – 2012-07-17 05:30:49

回答

1

是的,如果您使用ARC,您可以消除items變量。如果你不需要它,我建議你消除它,你不認爲這會讓你的代碼更容易理解。在你的例子中,我肯定會消除它。

1

第二個示例將起作用,並且是現在的最佳實踐。使用ARC,您不再需要調用保留或釋放。

3

是的,你展示的第二個例子在ARC下是很好的,並且可能是可取的,因爲它更簡潔。