我在我的大腦模型中定義了一個NSMutableArray屬性。獲取自動發佈的NSMutableArray屬性?
@property (retain, nonatomic) NSMutableArray *stockColors;
可變數組在Brain init期間被對象填充。
在我的視圖控制器的viewDidLoad功能我做
*Brain brain = [[Brain alloc]init];
NSLog(@"Brain stockColors is %@", brain.stockColors);
這種運作良好,並預期它會記錄一個內存地址。
然後在相同的視圖控制器中,我有一個「addButtonPressed」操作聲明鏈接到.xib中的UIButton。
在我addbuttonPressed行動,如果我嘗試做同樣的日誌
NSLog(@"Brain stockColors is %@", brain.stockColors);
程序崩潰!
如果我做
NSLog(@"Brain stockColors is %@", brain);
我得到一個地址爲腦...所以大腦存在..但出於某種原因,似乎brain.stockColors是越來越的時候,我得到釋放或東西到addButtonPressed操作。
任何人都可以解釋什麼會導致它得到autoreleased?
感謝
我不明白這一點。什麼是「大腦」課程?爲什麼不是'腦*腦'?什麼是使用'stockColors'和'IBAction'的類名? – Legolas
你能告訴我們'Brain'的init方法嗎? – albertamg
除了'* Brain brain'語法無效這個事實之外,變量'brain'甚至不應該存在於'viewDidLoad'之外,因爲它是一個局部變量,所以在那裏寫'brain.stockColors'不應該編譯。如果你發佈實際的代碼而不是你在你的網頁瀏覽器中編寫的有20個不相關的問題的代碼,甚至可能不包含導致你悲傷的實際錯誤,這會更有幫助。 – Chuck