iPhone应用程序,在翻转视图时运行其他代码

时间:2010-08-18 16:05:54

标签: iphone xcode uiviewcontroller modal-dialog model-view-controller

在xCode编写iPhone应用程序时,我应该在翻转视图后 NOT 放置代码吗?

我似乎随机崩溃......

{
    FlipsideViewController *controller = [[FlipsideViewController alloc] initWithNibName:@"FlipsideView" bundle:nil];
    controller.delegate = self;

    controller.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal;
    [self presentModalViewController:controller animated:YES];

    [controller release];

    ////////////////// Should I not put any code here???
    // Code that takes 0.0001 secs to run?   Or 0.1 secs?   Or 1-2 secs?
}

或翻转时:

{
    [self.delegate flipsideViewControllerDidFinish:self];   

    ////////////////// Should I not put any code here???
    // Code that takes 0.0001 secs to run?   Or 0.1 secs?   Or 1-2 secs?

}

2 个答案:

答案 0 :(得分:0)

如果您确认代码可能会影响应用程序的graphoc性能,则可以使用线程。在文档中有一个非常好的指南。查一查。

但我认为它不会影响性能。您的代码将在>翻转后执行。虽然谈到graphich,你永远无法完全确定。

答案 1 :(得分:0)

喜欢@ tadej5553表示你的代码将在翻转完成后执行。但是请记住,如果你把代码花了2秒钟来执行那么翻转就会完成,但是UI会被阻止并且在2秒钟内没有响应。所以这应该在另一个线程中完成,或者至少使用委托模式。如果你的谈话时间少于0.1秒,那么我认为可以在那里运行。任何更多和快速的用户会注意到滞后。如果你的视图在操作完成之前无法使用,那么我仍然会在另一个线程中执行代码,但只显示一个带有UIAlertView且没有按钮的UISpinner,所以用户不能解雇它。只有在您的代码完成后才会关闭UIAlertView