0

我是一个初学者,在做我的项目时遇到了一些问题。我有一个表格视图,我通过 XML Parsing 获得了一些 NSString 值。这就像:单元格 1:基本名称 - 姓名、地址、电话号码、日期。单元格 2:特色名称 - 姓名、地址、电话号码、日期。单元格 3:餐厅名称 - 名称、地址、电话号码、日期。

在这里,单元格 1、2、3 是我的表格视图的单元格,名称、地址、电话号码、日期是值。我通过 XML 解析得到基本名称、特色名称、餐厅名称和所有这些值。现在我的工作是,当我单击基本名称时,带有基本名称的详细信息(姓名、地址、电话号码、日期)将传递到另一个页面。单击时将显示每个单元格的描述。我可以单击一个单元格并转到另一个页面,但无法传递这些数据。需要注意的是,我使用的是 Xcode 4.2 而不是故事板。

4

3 回答 3

3

你需要考虑模型、视图和控制器。您的模型是您的表呈现的基础数据。表是视图,控制器负责从模型中提取数据并将其传递给表和视图。

因此,不要考虑“我如何在表和视图之间传递数据?”,而是考虑“我如何为我的视图控制器提供数据,以便可以将数据传递给它的视图?”

所以在这种情况下,正如艾伦建议的那样,你将不得不传递对象。

假设您的第一个表的模型是NSArrayof NSDictionaries,这是 parsinf XML 的一个相当常见的结果。每个字典都有餐厅信息的键值对。您的详细视图控制器需要一个字典属性。在该tableView:didSelectRowAtIndexPath:方法中,您将为详细视图实例化新的视图控制器,然后将视图控制器的数据属性设置为数组中与刚刚选择的单元格行相对应的索引处的字典。

于 2012-09-11T21:01:26.510 回答
0

您的详细视图控制器只需要为您希望它显示的相关模型对象实现一个属性或一个 setter 方法。tableView:didSelectRowAtIndexPath:通常,您会在 masterUITableView委托的方法中设置此属性。

于 2012-09-11T20:45:53.923 回答
0

只需使用 Delegate 变量检查其中一个概念:

1)将参数从一个视图传回另一个视图的 UITableView 的单元格

它可用于一次将值传递给多个类。

或者,您也可以使用 Singleton 类做同样的事情。

在您的情况下,您可以使用 Array/Dictionary 将多个值传递给另一个类。

于 2012-09-12T16:57:21.240 回答