這可能是一個愚蠢的問題,但我一直在思考它一段時間沒有明顯的答案。我應該分配一個NSMUtableArray實例變量嗎?
我有一個小的應用程序,我一直在努力,並與我的NSMutableArray實例變量有問題。在向viewDidLoad添加[[NSMutableArray alloc] init]之前,它總是(空)。
我對Objective C世界很新,所以我試圖理解這個問題。我的印象是,當我實例化我的類時,實例變量都被分配了。當我在沒有alloc/init的情況下將數組添加到數組時,它保留(空),保留計數爲0.
有問題的數組被聲明爲(retain)屬性。
如果不明確,我可以添加代碼。
所以指針被創建,但實際上沒有內存分配在實例化?如果我宣佈我的ivar爲(保留)屬性,那麼生成的setter將分配內存? – Eric 2009-11-11 16:46:09
@Eric:setter爲變量分配內存是沒有意義的。您需要將有效的實例傳遞給setter,在這種情況下,內存已經被分配。語言無法神奇地知道你希望你的ivars只是因爲你聲明它們是特定類型而設置的。 – Chuck 2009-11-11 16:49:59
@Chuck:我現在明白了。非常感謝您的幫助! – Eric 2009-11-11 16:54:12