奇妙なエラーが発生します。ARCでiOS 5を使用しています。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;