将plist加载到我的tableview后如何将信息传递给第二个视图控制器? (的NSDictionary)

时间:2013-01-30 14:55:03

标签: ios objective-c plist

我将pList加载到一个表视图控制器中,该控制器将一个视图控制器。我无法弄清楚如何加载与此视图控制器上的标签所点击的单元格相对应的数据。顺便说一句,plist是一个NSDictionary。

在表视图控制器的viewDidLoad中我有:

 NSString *myFile = [[NSBundle mainBundle]
                    pathForResource:@"recipes" ofType:@"plist"];


recipes = [[NSDictionary alloc] initWithContentsOfFile:myFile]; 

courseKeys = [recipes allKeys];

我不确定如何告诉标签所选配方的名称是X,因此您显示X的成分。

感谢您的帮助!

凯文

1 个答案:

答案 0 :(得分:1)

不要忘记 - UITableView是一种显示数据的方式。用户在UITableView中选择一行后,您会通过UITableViewDelegate方法(具体为didSelectRowAtIndexPath)收到通知。您可以使用indexPath从您正在使用的任何数据结构中获取所需的任何数据(在您的情况下为NSDictionary),并通过实现prepareForSegueue将其传递给您接下来显示的任何控制器方法正确。我建议在下一个UIViewController中定义一个属性,并为其分配要在prepareForSegueue中传递的数据。然而,我会考虑一下,你希望直接引用数据或者可能是它的深层副本 - 这实际上取决于你在VC中想要完成的事情。