Pra*_*dda 3 iphone asynchronous objective-c ios4
我在本地存储中有一个相对的图像,我想在不打扰UI线程的情况下向用户显示它.我正在使用
[[UIImage alloc] initWithContentsOfFile:path];
Run Code Online (Sandbox Code Playgroud)
加载图像.
任何建议/帮助请....
如果您要做的就是保持UI线程可用,请设置一个简短的方法在后台加载它并在完成后更新imageView:
-(void)backgroundLoadImageFromPath:(NSString*)path {
UIImage *newImage = [UIImage imageWithContentsOfFile:path];
[myImageView performSelectorOnMainThread:@selector(setImage:) withObject:newImage waitUntilDone:YES];
}
Run Code Online (Sandbox Code Playgroud)
这假设myImageView是该类的成员变量.现在,只需在任何线程的后台运行它:
[self performSelectorInBackground:@selector(backgroundLoadImageFromPath:) withObject:path];
Run Code Online (Sandbox Code Playgroud)
注意,backgroundLoadImageFromPath您需要等到setImage:选择器完成,否则后台线程的自动释放池可能会在setImage:方法保留之前释放映像.
| 归档时间: |
|
| 查看次数: |
4715 次 |
| 最近记录: |