我正在使用HockeyApp进行崩溃报告。我注意到只有iOS 9.1才经常发生崩溃。当文本字段成为第一响应者时也会发生崩溃,这还会触发要设置的UITableView委托。起初,我很难复制,但是现在我可以一直复制。我要做的就是打开辅助功能检查器,我的应用程序将崩溃。崩溃的原因是,“原因:在当前参数寄存器中找到选择器名称:_accessibilitySetRetainedValue:forKey:”,并且崩溃是“ SIGSEGV”。关于如何解决这个问题有什么想法吗?
我们遇到了类似的事情,这些事情最终是由于以下原因引起的:
@property (nonatomic, strong) id<UITableViewDelegate> delegate;
@property (nonatomic, strong) UITableVIew *tableView;
...
self.delegate = newDelegate;
self.tableView.delegate = newDelegate;
原始委托将被释放,通常不会有问题。但是据我们所知,当启用可访问性时,其中的某个内容会assign
引用原始委托,而当设置了新的委托时,会有一些尝试清除该引用的东西。哪一个不存在了。
TL; DR:在将新委托分配给表视图之前,请不要取消分配原始委托:
self.tableView.delegate = newDelegate;
self.delegate = newDelegate;
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句