objective-c - Objective C 后台的异步方法

标签 objective-c asynchronous background thrift

我希望能够在不阻塞 UI 的情况下发送数据。这些文件非常大,因此同步发送它们不是一种选择。

我有一个类实现了通过 Apache Thrift 发送数据的所有方法。

我见过的所有异步请求都使用 NSURLRequest 和 NSURLConnection,但对于我的应用程序,我想使用我的类。

基本上,我想异步调用这个方法:

- (void)syncLocalData {
    Manager *stateManager = [[Manager alloc] init];
    [stateManager readDirectory];
}

在 readDirectory 中,我遍历设备目录并在有文件时发送数据。

最佳答案

GCD(Grand Central Dispatch)提供易于使用的函数来异步执行代码 在后台线程上:

dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
    [yourInstance syncLocalData];
});

根据您的需要,您可以使用全局队列(这是一个“并发”队列), 或创建您自己的“串行”队列。

关于objective-c - Objective C 后台的异步方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18000740/

相关文章:

asynchronous - Bootstrap 网站侧边栏中的响应式 Adsense 单元实现

css - 重复背景的垂直线

html - 如何使用线性渐变背景的数据属性值

ios - 捏缩放 ScrollView 内 UIImageView 的效果?

ios - 检测 iOS 键盘上的 Shift + Enter

ios - 如何在 traitCollectionDidChange 的 View Controller 中更改 UIImageView 图像

Android Studio IDE 配色方案设置无法撤销为默认白色背景

objective-c - HTML解析 objective-c

node.js - 如何在超时的异步内中断/取消 forEach 循环

android - 在回收者 View 中存储异步数据