您的位置:首页 > 其它

向上滑动tableview 程序crash问题

2012-02-25 03:30 169 查看
这两天写个功能模块用到tableview,功能写完测试发现每次向上滑动tableview 时程序都会crash掉。把tableview controller 部分的代码review 了很多遍,加了很多打印和断点也没有找到一点头绪。在网上搜了很久,大概知道了一些思路,就是说程序可能调用了一个被释放了的对象,但是调试了很久也没有发现是哪个对象出的错。

最后在国外的论坛上找到了一篇跟我类似问题的文章,原来问题不是出在我的tableview controller 文件里,而是在AppDelegate.m文件里。

把代码:

[self.window addSubview:tableViewController.view];

改为:

[self.window setRootViewController:tableViewController];

就ok了。

原因是原来的代码只retain了TableViewController 的View而没有retain整个controller,所以在执行完- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions函数后,tableViewController就被释放掉了。而我在向上滑动tableview 的时候,tableview会向tableViewController发送重画tablecell的消息,因为tableViewController已经不存在,所以导致程序crash掉了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: