1

私が新しいviewControllerにセグエしているときに、引数を渡したいのですが、新しいに「turnId」としましょうViewController。メソッドでこれを実行できることはわかってprepareForSegueいますが、引数をprepareForSegueメソッド自体に渡すにはどうすればよいですか? 送信者からこれを取得するにはどうすればよいですか? 送信者はdidSelectRowAtIndexPathですが、値はセルに存在せず、次のdidSelectRowAtIndexPathように宣言されています。

String *turnId = @"123";
4

1 に答える 1

3

送信者情報には渡しません。

didSelectRowAtIndexPathあなたのことをして[self performSegueWithIdentifire:@"blah"]から、このprepareForSegueようなことをしてください...

- (void)prepareForSegue:... //blah cant remember the name
{
    if ([segue.identifier isEqualToString:@"blah"]) {
        NewViewController *controller = segue.destinationViewController;

        NSIndexPath *selectedIndexPath = [self.tableView indexPathForSelectedRow];

        //get the object associated with that row and set a variable like...
        NSString *selectedString = tableObject.name;

        //Then pass the string into the controller...
        controller.stringProperty = selectedString;
    }
}

次に、これを受け入れるようにNewViewController.h設定し@propertyます...

@property (nonatomic, strong) NSString *stringProperty;

次に、からこの値にアクセスできNewViewCongtroller.m、値が渡されます。

于 2012-10-22T11:34:16.917 に答える