iOS 5 segue初始化多个属性

时间:2012-02-06 17:35:01

标签: objective-c xcode ios5

我确实使用了一个有效的属性,但是第二个属性导致错误“没有选择器的已知实例方法......”

在segueing时可以初始化多少个变量?

[segue.destinationViewController setID:1 setName:@"name"];

使用其中任何一个setter但不超过一个。任何想法为什么?以及如何设置超过属性?

2 个答案:

答案 0 :(得分:2)

您可以创建destinationViewController的实例并进行编辑。

UIViewController *nextController = [segue destinationViewControler];

[nextController setID:1];
[nextController setName:@"name"];

如果您正在使用自定义类,则需要采用稍微不同的方式:

YourClass *nextController = (YourClass *)[segue destinationViewController];

[nextController setID:1];
[nextController setName:@"name"];

对不起,如果有任何错别字。我知道这很有效,因为我在多个应用程序中使用过它。

答案 1 :(得分:2)

覆盖原始视图控制器中的prepareForSegue:sender:方法:

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
  UIViewController *controller = segue.destinationViewController;
  controller.ID = 1;
  controller.name = @"name";
}