作者freedom76912 (KHAKI)
看板MacDev
标题Re: [问题] iPhone: navigation template
时间Sat May 28 12:19:15 2011
※ 引述《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)
1F:推 level39:贴完整的程式码可能会比较好回答你的问题 05/28 14:56
2F:推 leondemon:试试clean和analyze你的project 05/28 16:52
※ 编辑: freedom76912 来自: 140.112.41.53 (05/28 19:28)
3F:推 aecho:我觉得这时候要招唤zombie.... NSZombieEnabled 05/28 19:34
4F:→ aecho:如果是overreleased的话… 05/28 19:34
5F:推 level39:为什麽不在dealloc内release就好?你还在使用drinkview阿 05/28 20:02
6F:→ freedom76912:是因为push进去 所以可以release吗? 05/28 22:33
7F:推 offname:Xcode 4 可以用 Instrument 找 Zombie 05/28 22:45
8F:→ JmeHsieh:直觉是你的detailViewController dealloc时多release了 05/29 09:28
9F:→ JmeHsieh:所以修改rootViewController里的code很有可能方向错了 05/29 09:29
10F:→ freedom76912:我的detailVC.m里面只有dealloc掉synthesize的东西 05/29 13:37
11F:→ freedom76912:还有[super dealloc]而以 05/29 13:37