1

この IBAction から次のメソッドを呼び出すにはどうすればよいですか? NSLog(@"clicked"); の代わりに prepareForSegue: メソッドを呼び出したい

IB アクションは次のとおりです。

- (IBAction) annotationViewClick:(id) sender {
    NSLog(@"clicked");
}

メソッドは次のとおりです。

// Do some customisation of our new view when a table item has been selected
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
    // Make sure we're referring to the correct segue
    if ([[segue identifier] isEqualToString:@"ShowMoreInfo"]) {

        // Get reference to the destination view controller
        MoreDetailViewController *mdvc = [segue destinationViewController];


        [mdvc setSelectedItemName:[NSString stringWithFormat:@"%@", placeName.text]];
        [mdvc setSelectedItemAddress:[NSString stringWithFormat:@"%@", placeFormattedAddress.text]];

        [mdvc setSelectedItemWeb:[NSString stringWithFormat:@"%@", placeWebsite.text]];
        [mdvc setSelectedItemRating:[NSString stringWithFormat:@"%@", placeRating.text]];
  //      [mdvc setSelectedItemDistance:[NSString stringWithFormat:@"%@", placeDistance.text]];

    }
}

助けてくれてありがとう!

4

2 に答える 2

1

prepareForSegue:セグエを実行すると、メソッドが自動的に呼び出されます。

セグエを実行するには、たとえば、を使用する必要がありますperformSegueWithIdentifier:[self performSegueWithIdentifier:@"showGuide" sender:self];

この場合、Xcode Interface Builder で識別子をセグエに割り当てる必要があります。

于 2012-04-30T11:08:41.723 に答える
0

idは次のようなものを試してください

UIStoryBoardSegue *segue = ... setup the one you want
[self performSelector:@selector(prepareForSegue:) withObject:seque afterDelay:0];

iveはストーリーボードで動作したことはありません-しかし、それはあなたがセレクターと呼ぶ方法です:)

于 2012-04-30T10:51:50.303 に答える