SqlServerからのデータの読み込みを処理するための個別のクラスを作成しました。今、私は検索語をオブジェクトに渡し、データベース内のアイテムを検索します。
複数のアイテムが見つかった場合は、モーダルビューコントローラーを提示する必要があります。問題は、これがNSObjectであり、モーダルビューの表示について認識していないことです。
NSObjectからモーダルビューコントローラを表示するにはどうすればよいですか?
SqlServerからのデータの読み込みを処理するための個別のクラスを作成しました。今、私は検索語をオブジェクトに渡し、データベース内のアイテムを検索します。
複数のアイテムが見つかった場合は、モーダルビューコントローラーを提示する必要があります。問題は、これがNSObjectであり、モーダルビューの表示について認識していないことです。
NSObjectからモーダルビューコントローラを表示するにはどうすればよいですか?
Try to delegate presenting the modal to a view controller - either by posting notifications on duplicates (gives you flexibility in which view controller presents) or defining a delegate protocol. This will keep your model separate from your view, preserving the MVC architecture of your app.
EDIT: using blocks for delegation is a fine approach in my view. I would just adjust your API to take a block to be performed in case of a duplicate, and have your modal take another block to handle the selection from many. That will probably give you maximum flexibility.
EDIT2: Based on understanding of your current API, I'd recommend this:
- (void)searchForItemWithString:(NSString *)searchString completionBlock:(librarianDidSelectItemBlock)block multiSelectBlock:(librarianMultiSelectBlock);
Furthermore I'd design your modal view controller to take a completion block as well.