gpt4 book ai didi

iphone - NSOperation 和 NSOperationQueue 不起作用

转载 作者:行者123 更新时间:2023-11-29 04:19:32 24 4
gpt4 key购买 nike

我有以下代码,但它不起作用。背后是否有什么东西在起作用。

[operationQueue addOperationWithBlock:^{
imageData = [NSData dataWithContentsOfURL:imageURL];
[[NSOperationQueue mainQueue] addOperationWithBlock:^{
UIImage *image = nil;

if(imageData){
UIImage *image = [UIImage imageWithData:imageData];
cell.imageView.image = image;
}
}];
}];

即使我创建了 NSOperation 的子类,然后分配初始化它,它也不会按照我想象的方式工作。我总是必须调用 NSOperation 子类的 start 来运行,但我想向 NSOperation 发送启动消息会在主线程中运行它,而不是在后台线程中运行。

最佳答案

我想使用 GCD 添加替代解决方案:

backgroundQueue = dispatch_queue_create("com.razeware.imagegrabber.bgqueue", NULL);
dispatch_async(backgroundQueue, ^{
/* put the codes which makes UI unresponsive like reading from network*/
imageData = [NSData dataWithContentsOfURL:imageURL];
..... ;
dispatch_async(dispatch_get_main_queue(),^{
/* do the UI related work on main thread */
UIImage *image = [UIImage imageWithData:imageData];
cell.imageView.image = image;
......; });
});
dispatch_release(backgroundQueue);

让我知道这是否对您有帮助;)

Reference

关于iphone - NSOperation 和 NSOperationQueue 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13142194/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com