3
|
rickharrison · 技术社区 · 14 年前 |
1
1
我设置对象来处理AppDelegate中的下载(以及其他异步或长时间运行的任务),然后根据需要从各个控制器触发它们。这样,它们就被拥有,并且在应用程序的整个生命周期中都具有持久性。 实现这一点的最佳方法是将它们传递给需要它们的ViewController(而不是ViewController“期望”AppDelegate具有这样的对象准备就绪并等待),依赖注入。 这些对象在完成时以某种方式更新我的模型,如果需要,我使用nsnotifications来宣布它们完成了。这使我与以前试图在视图中取消或交换代理的混乱状态隔离开来,这样会消失等,以避免您遇到的问题。 |
2
0
您的应用程序崩溃的原因可能是因为nsurlconnection保留了它的委托(这样它就可以可靠地回叫它),但这个委托具有弱引用的对象已经被释放。 例如,在您的情况下,当弹出视图控制器时,self.delegate指向的对象可能已被释放,但delegate属性尚未清除(设置为nil)。 解决问题的方法是在从导航堆栈中弹出uiviewController子类时,在适当的时间清除self.delegate。 注: 对于可可类来说,保留学员不是常见的行为。在发生与标准实践相反的情况下,应将其记录在案(参见nsurlconnection文档)。 |
sandpat · 使导航堆栈中只有一个导航栏透明iOS Swift 6 年前 |
Witterquick · 刷新导航栏背景色 6 年前 |
user8902111 · 导航控制器按钮问题 6 年前 |
COLD ICE · 使用彩色导航栏时,搜索栏中会出现白线 6 年前 |