我有一个视图从另一个UITableView推送到UINavigationController堆栈。我的视图加载到任何缓存的内容中,然后继续连接到服务器以检查更新的内容。
问题是,用户可能会点击UINavigationBar中的“后退”箭头按钮,当代理被回击时,应用程序崩溃。我认为有两种方法可以解决这个问题:
不幸的是,当我将RKObjectLoader委托设置为nil时,我正在使用的框架(RestKit)似乎仍然崩溃。
关于此的任何线索或最佳做法?
答案 0 :(得分:1)
还有第三个选项 - 将视图移出屏幕但不释放它 - 操作将成功,然后您可以释放内存。
选项1是正确的方法 - 你不想无缘无故地做事。您是否尝试拦截后退按钮并保留视图。取消操作但不将委托设置为nil。您应该从restKit向您的委托发回某种错误消息 - 当您得到这个消息时,您可以释放自己。同时,视图已被UIKit从屏幕上删除,因此用户不知道这种情况正在发生。
如果所有不能正常工作,选项2都会起作用(但会很糟糕)。
你可以发布崩溃的堆栈跟踪 - 也许我们可以修复RestKit?