Re: [問題] iPhone: navigation template

看板MacDev作者 (KHAKI)時間14年前 (2011/05/28 12:19), 編輯推噓5(506)
留言11則, 6人參與, 最新討論串2/4 (看更多)
※ 引述《freedom76912 (KHAKI)》之銘言: : 第四章是在教navigation template : 我現在已經建好rootview還有一個detailview : 也寫了pushViewController : 現在在simulator上 已經可以從rootview的table點選 並進入detailview : 進入detailview後 上方的navigation bar也多了個箭頭 可以回到rootview : 但是 回到rootview後大約兩秒吧 : 程式就被關閉(simulator回到iPhone的桌面) 我查到的error message是 『calayer release message sent to deallocated instance』 好像是某個東西被over release了 我現在的解決方式如下: 1.在RootViewController.m中 pushViewController:XXXdetailcontroller之後 把[XXXdetailcontroller release]這一行註解掉 == DrinkDetailViewController *drinkDetailViewController = [[DrinkDetailViewController alloc] initWithNibName:@"DrinkDetailViewController" bundle:nil]; drinkDetailViewController.drink=[self.drinks objectAtIndex:indexPath.row]; [self.navigationController pushViewController:drinkDetailViewController animated:YES]; // [drinkDetailViewController release]; == 其他都是navigation template的code 可是感覺這樣很治標不治本= =" 而且這樣子放到實機上會不會爆炸啊..... 煩請各位先進協助 感謝<(_ _)> -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.112.41.53 ※ 編輯: freedom76912 來自: 140.112.41.53 (05/28 14:29)

05/28 14:56, , 1F
貼完整的程式碼可能會比較好回答你的問題
05/28 14:56, 1F

05/28 16:52, , 2F
試試clean和analyze你的project
05/28 16:52, 2F
※ 編輯: freedom76912 來自: 140.112.41.53 (05/28 19:28)

05/28 19:34, , 3F
我覺得這時候要招喚zombie.... NSZombieEnabled
05/28 19:34, 3F

05/28 19:34, , 4F
如果是overreleased的話…
05/28 19:34, 4F

05/28 20:02, , 5F
為什麼不在dealloc內release就好?你還在使用drinkview阿
05/28 20:02, 5F

05/28 22:33, , 6F
是因為push進去 所以可以release嗎?
05/28 22:33, 6F

05/28 22:45, , 7F
Xcode 4 可以用 Instrument 找 Zombie
05/28 22:45, 7F

05/29 09:28, , 8F
直覺是你的detailViewController dealloc時多release了
05/29 09:28, 8F

05/29 09:29, , 9F
所以修改rootViewController裡的code很有可能方向錯了
05/29 09:29, 9F

05/29 13:37, , 10F
我的detailVC.m裡面只有dealloc掉synthesize的東西
05/29 13:37, 10F

05/29 13:37, , 11F
還有[super dealloc]而以
05/29 13:37, 11F
文章代碼(AID): #1Du7V5mJ (MacDev)
文章代碼(AID): #1Du7V5mJ (MacDev)