iOS 5 segueは複数のプロパティを初期化します

私はそれが動作する一つのプロパティでセグを行いましたが、2番目のプロパティはエラー "セレクタの既知のインスタンスメソッド..."

segueingするときにどれだけの変数を初期化できますか?

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

セッターのどちらかと一緒に動作しますが、1つしかありません。どんな考え?プロパティを設定する方法とは何ですか?

1

2 答え

destinationViewControllerのインスタンスを作成して編集することができます。

UIViewController *nextController = [segue destinationViewControler];

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

カスタムクラスを使って作業している場合は、少し違う方法で行う必要があります:

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

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

何かタイプミスがあれば申し訳ありません。私はこれが複数のアプリケーションで使用されているので、この機能が分かります。

2
追加された
ありがとうございました!非常に役立ちます
追加された 著者 Hashmat Khalil,

元のビューコントローラで prepareForSegue:sender:メソッドをオーバーライドします。

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
  UIViewController *controller = segue.destinationViewController;
  controller.ID = 1;
  controller.name = @"name";
}
2
追加された
感謝!非常に素晴らしい!
追加された 著者 Hashmat Khalil,