クラッシュ レポートに HockeyApp を使用しています。iOS 9.1 でのみ頻繁に発生するクラッシュに気付きました。クラッシュは、テキスト フィールドが最初のレスポンダーになり、UITableView デリゲートの設定もトリガーするときに発生します。最初は繁殖に苦労しましたが、今ではいつでも繁殖できるようになりました。Accessibility Inspector をオンにするだけでアプリがクラッシュします。クラッシュの理由は、「理由: 現在の引数レジスタで見つかったセレクター名: _accessibilitySetRetainedValue:forKey:」であり、クラッシュは「SIGSEGV」です。これを修正する方法について何か考えはありますか?
質問する
843 次
1 に答える
7
私たちは、次のようなことが原因で発生した同様の何かに遭遇しました:
@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;
于 2015-10-26T22:21:57.347 に答える