在我的应用程序中,我使用的导航控制器使用表格视图来组织数据。现在,当用户选择一行时,一个细节视图被推入堆栈。无论选择哪一行,此详细视图都是相同的。唯一的区别是,根据选择的行,我的详细信息视图将从保存的.plist文件中加载与所选行相对应的数据。
所以我想知道如何通知我的详细视图,了解我在表视图中选择了哪一行。
答案 0 :(得分:2)
你能不能简单地在视图控制器中创建自定义init方法? 例如,我使用以下内容将选定日期传递给ViewController:
..界面
- (id)initWithNibNameandDate:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil dateValue:(NSDate *) selectedDate;
......实施
- (id)initWithNibNameandDate:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil dateValue:(NSDate *) selectedDate {
self.selDate = selectedDate;
return [super initWithNibName:nibNameOrNil bundle:nil];
}
您传递的数据类型无关紧要。
希望这有帮助。
答案 1 :(得分:1)
在表视图控制器中,当用户选择行时,将调用didSelectRowAtIndexPath:方法。返回值indexPath提供所选行的节号和行号。从那里,您可以计算出有问题的项目(例如,它是你从中得到它们的数组中的第n个),并且可以传递给详细视图控制器。
答案 2 :(得分:1)
实际上它就像在详细视图控制器中添加NSUInteger ivar一样简单,然后在我将视图推入堆栈之前简单地从表委托方法设置其值。谢谢你的答案。