在视图控制器之间传递对象的three20方法是什么?

时间:2011-05-04 04:52:26

标签: iphone three20

我有一个基本的RSS阅读器,我用三个20个教程制作,使用TTLauncherView作为菜单到不同的feed和TTTableViewController来显示feed列表。

但是,我陷入了从点击源列表中查看Feed项详细信息的位置。我使用TTTableImageItem来显示我的feed项,我对如何使用所述TTTableImageItem中的URL变量将对象传递给显示feed项的视图控制器一无所知。

我做了一些搜索,我认为除了通过TTURLRequest之外不能做到这一点,这让我更加困惑。

我的大部分代码都改编自IOSGuys教程,该教程使用自定义数据源,数据模型和解析器。我已经尝试将数据源和数据模型设为单例,但无济于事,我不确定这是否是最好的方法来处理某些事情(大概)就像这样简单。

理想情况下,我打算使用索引的另一个参数传递整个feed项数组,这样当我处于更深入的视图时,我可以使用UIPageControl在提要之间滑动。

非常感谢!我已经花了太长时间才能到来!

2 个答案:

答案 0 :(得分:2)

通常的做法是使用某种全局单例Data Manager类,通过核心数据,内存存储或其他方式管理数据模型。每个模型都有某种唯一标识符。这样做有助于恢复导航历史记录所需的URL堆栈,而无需将状态写入文件以进行恢复。您还可以在任何只有一个URL的地方显示应用程序中的任何页面。使用URL方案只会变得微不足道,因为您可以执行以下操作:

yourapp://blogs/jd82kd9

并让博客视图控制器的init方法与Data Manager联系,其博客的唯一标识符为jd82kd9

在导航器的映射中,你会有这样的东西:

[map from:@"yourapp://blogs/(initWithBlogID:)") toViewController:[MyBlogViewController class]];

然后initWithBlogID方法将具有签名:

- (id)initWithBlogID:(NSString *)blogID;

答案 1 :(得分:1)