1

我有面向对象编程的一般工作知识,我目前正在尝试使用带有故事板的 Xcode 4.2 在 Objective C 中创建一个交互式小说程序。

我有一个实例化页面对象的 storyController 类和一个需要显示页面的 viewController 类。我的基本问题是我的 storyController 告诉 viewController 更新它的文本以显示新页面对象的文本的最佳方法。我的直觉告诉我,我的 storyController 需要调用 viewController 上的一个方法并传递给它一个页面对象。但是,我不确定如何引用视图控制器,因为它似乎是由情节提要自动创建和链接的(我没有看到 appDelegate 中实例化的 viewController)。

我读过这篇文章:http ://www.iphonedevsdk.com/forum/iphone-sdk-development/54859-sharing-data-between-view-controllers-other-objects.html ,它似乎解决了这个问题。我可以在我的 appDelegate 上创建一个共享对象,并使用 KVN 或 NSNotification 告诉视图控制器检查它。

我也一直在阅读代表和协议作为可能的解决方案。

因此,考虑到这些可能不同的方法,最好告诉我的 viewController 更新自身并将包含更新的对象传递给它?

4

1 回答 1

1

我建议查看UIPageViewController 类,这可能会为您完成很多繁重的工作,具体取决于您的应用程序的具体情况。这个类本质上是一个包含多个viewControllers的控制器类。每个托管的 viewController 本质上都成为您书中的一个“页面”。

这是一个使用 UIPageViewController 的教程。

如果这种方法不适用于您的应用程序,我仍然建议为您的书的每个“页面”使用单独的 viewController 实例,并使用 segues 处理页面之间的转换。

于 2012-04-28T22:30:57.130 回答