0

我创建了一个单独的类来处理从 SqlServer 加载数据。现在我将搜索词传递给对象,它会搜索数据库中的项目。

如果它发现不止一个项目,它需要呈现一个 modalviewcontroller。问题是这是一个 NSObject 并且不知道如何呈现模态视图。

如何从 NSObject 呈现 modalviewcontroller?

4

1 回答 1

0

尝试将模态呈现委托给视图控制器 - 通过在重复项上发布通知(为您提供视图控制器呈现的灵活性)或定义委托协议。这将使您的模型与您的视图分开,保留您的应用程序的 MVC 架构。

编辑:在我看来,使用块进行委派是一种很好的方法。我只会调整您的 API 以在重复的情况下执行一个块,并让您的模式采用另一个块来处理许多选择。这可能会给你最大的灵活性。

EDIT2:根据对您当前 API 的理解,我建议这样做:

- (void)searchForItemWithString:(NSString *)searchString completionBlock:(librarianDidSelectItemBlock)block multiSelectBlock:(librarianMultiSelectBlock);

此外,我会设计您的模态视图控制器以获取完成块。

于 2012-09-11T17:24:55.913 回答