问题标签 [dispatch-async]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1052 浏览

ios - IOS dispatch_async 和 for 循环

我正在尝试将此代码转换为在后台线程上执行 for 循环,因为它非常缓慢且滞后。

}

我确实尝试过,但它不能正常工作......它消除了滞后,但有些行丢失或在集合视图中的奇怪位置我那是因为 for 循环不能正常工作与调度...... - (void)prepareLayout { [超级prepareLayout];

我尝试了其他变体,但无法使其正常工作...如果有人可以帮助我将此代码转换为在后台线程上正确运行,那就太好了...谢谢

0 投票
1 回答
146 浏览

objective-c - 在 Mac 应用程序的目标 c 中未正确调用 NSURLConnection

我调用以下函数以使用 google api 将语音转换为文本。我在最新版本的 xcode 中执行此操作,并为 mac 制作此应用程序。问题是下面的功能似乎中断了,NSData *responseData = [NSURLConnection sendSynchronousRequest:request returningResponse:&urlResponse error:nil];所以我无法检查语音。我尝试过异步调度,但似乎没有帮助。我也尝试了 @autoreleasepool {} 但它似乎也没有帮助。任何帮助表示赞赏!

0 投票
1 回答
1486 浏览

dispatch - GWTP 调度——替代 DefaultDispatchAsync (RpcDispatchAsync)

我们一直在使用 GWT-Dispatch 来支持使用命令模式的 RPC 调用。我们现在需要转移到 GWTP,因为 Dispatch 已被吸收到该项目中。似乎一切都很好。问题是我们无法再获得 DispatchAsync 对象。在 Dispatch 中,获取默认实现非常简单:

这不再有效。DefaultDispatchAsync 已被弃用,当我们使用建议的替代品 (RpcDispatchAsync) 时,它看起来像这样:

我们得到以下错误:

有谁知道如何做到这一点?我知道如果我们重写所有页面以使用它在 Presenter 中可用的 GWTP MVP 模式,但是将事情转移到使用完整的 GWTP 是一个漫长的过程,如果我们不能让 RPC 调用并快速工作,那将是一个项目的问题。

在此先感谢-希望这很容易。

0 投票
2 回答
741 浏览

ios - 使用局部变量调用 dispatch_async 时的内存问题

调用 dispatch_async 时出现代码问题。我认为这个问题是由于 ARC 在将对象用于块之前回收对象,因为调度它的方法完成。

在浏览了很多文档后,我得出结论

  • 块访问没有参数 - 没有什么可讨论的
  • 块访问简单的类型参数,例如 BOOL、int - 这些是复制的,不是问题
  • 块访问调度它的方法的参数 - 我不确定,但认为这没关系
  • 块访问 self 的属性——只要 self “活着”直到调用正常完成
  • 块在分派它的方法中访问局部变量
    • 如果我们使用一些信号量,这样我们在离开方法之前等待块返回,那么一切都好
    • 否则变量可能在块可以使用之前已被垃圾收集。

我认为解决方案是使用__block修饰符使 ARC 保留变量。

我的问题是

  • 以上在技术上是否正确,例如使用__block将解决问题而不引入其他问题?
  • 为什么我在互联网/谷歌的任何地方都找不到这个?
0 投票
1 回答
307 浏览

ios - ios 在异步块中使用发布

我有一个 IOS 项目(禁用 ARC),它有几个视图控制器。一个特定的控制器初始化 MyClass 类型的成员对象,但是当视图控制器被解除时,我正在为使用线程(使用调度异步)的对象调用清理方法来进行一些耗时的操作,然后当这些操作完成我在对象的主队列上执行 [self release]。这是一个好习惯,会导致任何错误吗?下面是一个与我正在做的类似的例子:

0 投票
4 回答
611 浏览

ios - 设置 UILabel 文本花费的时间比预期的 iO​​S7 长

在我看来,我试图显示一些与天气相关的信息。我用

出于某种原因,我在 uilabel 更改为新文本之前大约 15-45 秒看到了 NSLog 行。我对 Obj-C 相当陌生,我的很多代码都来自使用教程,所以我对 dispatch_async 方法没有最了解。任何想法或建议将不胜感激。

0 投票
1 回答
228 浏览

ios - performSelectorOnMainThread 在另一个视图控制器上调用选择器

以下代码工作正常:

因为我需要从不同的 viewController 调用它,所以我想将它放在具有公共全局帮助功能 (+) 的通用类中,所以我正在寻找一种方法将选择器和目标作为参数传递给 performSelectorOnMainThread 以运行

0 投票
1 回答
1323 浏览

ios - iOS:发送到已释放实例的 numberOfSectionsInCollectionView 消息

我有这个代码来管理一个collectionview

如果 imageQueue_ 完成它的工作并填充整个集合视图,它就可以正常工作;当我退出视图时我遇到了问题

在这种情况下,如果 collectionview 没有全部填充图像,则在执行返回操作时会出现此错误:

问题出在哪里?

0 投票
3 回答
2809 浏览

ios - 如果操作未完成,iPhone 应用程序会因 dispatch_async 崩溃

在我发货的 iPhone 应用程序中,我使用了一个dispatch_async没有问题的块。该应用程序检查网站的价格更新,解析HTML,相应地更新核心数据模型,然后刷新正在查看的表格。

然而,在我最新的应用程序中,我发现在价格更新过程正在运行时,我可以通过退出应用程序来使应用程序崩溃。在我看来,第一次和第二次用法之间的区别只是我从表中调用调度块refreshController(即tableViewController现在内置的拉动刷新机制)并且现在是 iOS7。

任何人都可以向我建议dispatch_async在已知条件下应该如何优雅地中止,例如用户希望停止进程,或者如果他们切换这样的应用程序并且我想拦截该活动以正确管理块,好吗?

如果有关于块的注意事项和注意事项的任何好的背景阅读,我很乐意同样浏览这些链接 - 谢谢!

为方便起见,这是我正在使用的(主要是样板文件)dispatch_async 代码:

0 投票
1 回答
113 浏览

ios - 在 uitableviewcell 上更快地加载图像,从互联网下载

我有一个 UITableView,它是图片的社交时间线,当我向下滚动时,它会透明一段时间,直到它加载图像,但是当我向下滚动并再次向上滚动时,图像必须再次重新下载,这是我个人的认为是一种浪费,因为我使用的是可重复使用的细胞。无论如何可以更快地加载图像?我已经在使用dispatch_async高优先级。