單擊按鈕時我使用performSegueWithIdentifier(),以便可以將正確的信息傳遞給我的下一個ViewController。當我點擊按鈕時,它會移動到一個新的視圖空白視圖,然後打開我想用performSegueWithIdentifier()調用給出的信息的視圖。這要求用戶點擊後退按鈕2次才能返回到主視圖。添加performSegueWithIdentifier()調用後,創建了兩個不同的階段
有沒有辦法確保prepareForSegue()不會自動調用,因爲我使用performSegueWithIdentifier()?我有這種感覺,因爲我用performSegueWithIdentifier()調用prepareForSegue(),然後自動調用第二次。
這裏是我的代碼,我使用performSegueWithIdentifier()方法:
if (page == 1)
[self performSegueWithIdentifier:@"time1" sender:self];
else if (page == 2
[self performSegueWithIdentifier:@"time2" sender:self];
else if (page == 3)
[self performSegueWithIdentifier:@"time3" sender:self];
else if (page == 4)
[self performSegueWithIdentifier:@"time4" sender:self];
else if (page == 5)
[self performSegueWithIdentifier:@"time5" sender:self];
else if (page == 6)
[self performSegueWithIdentifier:@"time6" sender:self];
else if (page == 7)
[self performSegueWithIdentifier:@"time7" sender:self];
else if (page == 8)
[self performSegueWithIdentifier:@"time8" sender:self];
else if (page == 9)
[self performSegueWithIdentifier:@"time9" sender:self];
else if (page == 10)
[self performSegueWithIdentifier:@"time10" sender:self];
else if (page == 11)
[self performSegueWithIdentifier:@"time11" sender:self];
else if (page == 12)
[self performSegueWithIdentifier:@"time12" sender:self];
else if (page == 13)
[self performSegueWithIdentifier:@"time13" sender:self];
這裏是我的prepareForSegue()方法:
- (void) prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
if ([segue.identifier isEqualToString:@"time1"] ||
[segue.identifier isEqualToString:@"time2"] ||
[segue.identifier isEqualToString:@"time3"] ||
[segue.identifier isEqualToString:@"time4"] ||
[segue.identifier isEqualToString:@"time5"] ||
[segue.identifier isEqualToString:@"time6"] ||
[segue.identifier isEqualToString:@"time7"] ||
[segue.identifier isEqualToString:@"time8"] ||
[segue.identifier isEqualToString:@"time9"] ||
[segue.identifier isEqualToString:@"time10"] ||
[segue.identifier isEqualToString:@"time11"] ||
[segue.identifier isEqualToString:@"time12"] ||
[segue.identifier isEqualToString:@"time13"])
{
InfoViewController *ivc = [segue destinationViewController];
if (_stringText != nil)
ivc.viewText = _stringText;
}//end if
}//end prepareForSegue
你應該嘗試做一些循環的代碼,只是一個建議,以改善你的代碼:) – LinusGeffarth
@LinusG。好的,謝謝但這個問題呢? – saboehnke
不知道,否則我會回答以及... – LinusGeffarth