在视图中加载图像需要在iPhone上使用10-20秒

时间:2012-12-03 07:48:30

标签: iphone uiimage uiimagepickercontroller

我创建了一个应用程序,它从Camera中选择图像,并在didFinishPickingMediaWithInfo上将此传递给另一个视图并加载此视图。我认为代码没问题,但显示第二个视图需要15到20秒。所以,请告诉我如何解决此加载问题。

我的代码块是:

-(void)imagePickerController:(UIImagePickerController *)picker 
didFinishPickingMediaWithInfo:(NSDictionary *)info
{
    [[picker parentViewController] dismissModalViewControllerAnimated:YES];

    [NSThread detachNewThreadSelector:@selector(switchToSecondView:) toTarget:self withObject:info];
}

-(void) switchToSecondView:(NSDictionary *)info
{
    UIImage *image = [info
              objectForKey:UIImagePickerControllerOriginalImage];

    secController =[[SecondViewController alloc] initWithNibName:@"SecondViewController" bundle:nil];
    secController.myimage = image;

    AppDelegate *appDelegate=(AppDelegate *)[[UIApplication sharedApplication] delegate];
    [appDelegate.navController pushViewController:secController animated:NO];
}

谢谢, Laxmilal Menaria

1 个答案:

答案 0 :(得分:0)

UiKit仅在主线程上使用是绝对安全的。您在switchToSecindView:中的工作正在后台线程中进行。因此,行为未定义。

可能发生的事情是,UIKit在碰巧正在进行其他处理之前未能注意到您的更改。