我收到一個奇怪的錯誤。我們正在使用iOS 5與ARC。當NSZombiesEnabled設置爲true和應用程序插入到調試器,我們得到這個錯誤(這通常發生過,但不是一致)應用程序來自後臺「消息發送到解除分配的實例」
2012-07-04 11:25:17.161 Trivial[624:707] -[vcCurrentGames gamesLoaded:] [Line 284] Found 62 games that are my turn.
2012-07-04 11:25:17.162 Trivial[624:707] -[vcCurrentGames gamesLoaded:] [Line 285] Found 26 games that are their turn.
2012-07-04 11:25:17.169 Trivial[624:707] -[vcCurrentGames tableView:heightForHeaderInSection:] [Line 409] Height 1: 29
2012-07-04 11:25:17.171 Trivial[624:707] *** -[vcDashboard retain]: message sent to deallocated instance 0xf62c3c0
我們不持有任何地方的儀表板(ARC不允許保留) 。這隻發生在應用程序從後臺加載後。 vcCurrentGames實際上是儀表板上的UITableView。這對我來說更奇怪,因爲如果儀表板被處理,那麼爲什麼它是UITableView加載?
我讀過一點這方面的內容。儀表板在應用程序委託的屬性定義:
@property (nonatomic, strong) vcDashboard *vDashboard;
我試圖使這一薄弱,這樣它會零出,但也不管用。有人能告訴我爲什麼它被交易,或者爲什麼它試圖在交易後保留vcDashboard?
在應用程序委託我宣佈它是這樣的:
UIViewController *viewController = [[vcDashboard alloc] initWithNibName:@"vcDashboard" bundle:nil];
self.vDashboard = (vcDashboard *)viewController;
你怎麼初始化它?適當的appdelegate方法中的代碼是什麼? – Eimantas
用初始值設定項編輯該問題。 –