NSFetchedResultsControllers
アプリ全体にいくつかあり、すべてのビュー コントローラーで、それぞれのデリゲート メソッドを実装しています。ただし、これらのデリゲート メソッドを を実装するすべてのクラスにコピーする代わりに、これらのデリゲート メソッドを実装するNSFetchedResultsController
クラスを作成し、取得したすべての結果コントローラーのデリゲートをその 1 つのクラスを指すように設定するだけでよいと考えました。これが私が試したことですが、うまくいきません:
デリゲート メソッドは変更対象のテーブル ビューを認識する必要があるため、取得した結果コントローラーごとに個別のデリゲート クラスを作成し、そのクラスのテーブルビューへのポインターを送信するだけでよいと考えました。
FetchedResultsDelegate *delegate = [[FetchedResultsDelegate alloc] initWithTableView:parentTableView];
self.fetchedResultsController.delegate=delegate;
[delegate release];
ただし、これによりBAD_ACCESS
クラッシュが発生するため、上記で行っていることを行うべきではないことを意味します。
すべての my に対するすべてのデリゲート要求を処理する単一のデリゲート クラスを作成するにはどうすればよいNSFetchedResultsControllers
ですか?
編集:@property (nonatomic, retain) FetchedResultsDelegate *delegate;
Is this ok?を実行することで問題を解決できました。一部の人々は、保持ではなく割り当てについて何かを言っていますか?