【发布时间】:2015-04-15 17:12:13
【问题描述】:
我在单击按钮时使用 performSegueWithIdentifier(),以便将正确的信息传递给下一个 ViewController。当我单击该按钮时,它会移动到一个新的视图空白视图,然后使用 performSegueWithIdentifier() 调用提供的信息打开我想要的视图。这需要用户点击返回按钮 2 次才能返回主视图。
有没有办法确保因为我使用 performSegueWithIdentifier() 而不会自动调用 prepareForSegue()?我感觉这种情况正在发生,因为我使用 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
【问题讨论】:
-
你应该尝试用一些循环来做所有的代码,只是一个改进你的代码的建议:)
-
@LinusG。好的,谢谢,但是这个问题呢?
-
不知道 ????否则我也会回答...
标签: ios objective-c xcode segue