2012-04-30 16 views
1

如何從此IBAction調用以下方法?我想調用prepareForSegue:方法而不是NSLog(@「clicked」);如何從此IBAction調用以下方法?

這裏的IBAction爲:

- (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]]; 

    } 
} 

感謝您的幫助!

回答

1

prepareForSegue:方法自動調用。

要執行一個賽格,你應該使用performSegueWithIdentifier:, 爲前。 [self performSegueWithIdentifier:@"showGuide" sender:self];

在這種情況下,您需要爲Xcode Interface Builder中的segue分配標識符。

+0

真棒!非常感謝 – hanumanDev

0

ID嘗試像

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

我從來沒有與故事板的工作 - 但是那您怎麼稱呼一個選擇:)當你執行賽格瑞

+0

謝謝。我只想運行 - (void)prepareForSegue:方法中的代碼。在沒有設置UIStoryBoardSegue * segue的情況下,沒有辦法調用該方法嗎? (void)prepareForSegue:方法 – hanumanDev

+0

你的'prepareForSegue:'方法顯然需要用segue調用,所以我認爲你需要instanciate它...(不是alloc,但是獲取參考) –