我有一个问题让我们假设A和B是2个视图控制器,从A用户推送到B视图控制器,在B中用户通过创建对象C(NSObject类)启动一些下载并将B设置为C的委托(assign ),现在用户想要回到A然后dealloc of B调用对象版本,C委托无法给出回调(崩溃)。我想得到调用并允许用户移动到其他视图控制器,这样我保留了委托C类但保留委托是错误的......
what are all solutions ...
先谢谢。
答案 0 :(得分:0)
我看到两个选项:
答案 1 :(得分:0)
这是因为您的架构中存在问题:您将后台下载的全局任务分配给可能存在或可能不存在于内存中的视图控制器。
如果您希望能够继续下载而不管是否存在B,那么:
NSNotification
而不是委托,以便同时监控多个对象。init
方法或@property
将B的实例注入B,以便生成B.