grand-central-dispatch相关内容

如何在iOS中在后台运行NSURLConnection

我正在使用待办事项列表组织者的应用程序,用户可以在其中添加注释.我正在使用coredata DB来存储注释.当我提供同步功能时,我正在将JSON数据解析到服务器,还从服务器获取JSON数据. 我正在使用NSURLConnection API及其委托函数 - (void)pushData { loop through the notes array and send notes ..
发布时间:2020-11-20 05:29:55 移动开发

在iOS中高效同步数据

我正在开发一个应用程序,当应用程序进入后台并且应用程序处于活动状态时,我会与服务器之间来回同步数据.因为当我同步到多个设备时,应该在所有设备上更新数据. 这就是我的做法, - (void)applicationDidBecomeActive:(UIApplication *)application { if([[AppManager instance].globalManag ..
发布时间:2020-11-20 05:28:53 移动开发

如何创建线程来检查时间?

我必须设置时间每天检查两次服务器中的更新数据,假设是上午9点和晚上9点,但是我不知道这样做的方式. 创建一个线程,每次运行并通过设置检查当前时间,如果它们相等,那么任务呢?这样好吗?我认为那是糟糕的表现. 解决方案 使用线程,但是如果相等,则不要每秒钟检查一次.您可以使用NSNotification.当时间相同时,它将发送一条通知以获取数据. 您可以阅读以下内容: iOS定时后 ..
发布时间:2020-11-20 05:27:51 移动开发

应用程序偶尔崩溃

在应用程序启动时,我遇到了非常奇怪的崩溃.我的应用程序产生了很多线程(超过500个,其中大多数与PLPreheatItem相关,我无法在此处粘贴完整的崩溃日志,因为stackoverflow限制为3万个符号). 问题是我无法在设备上复制它.几乎每次运行时,它都会对我的客户进行全新安装. 我正在将NSURLSession与后台会话一起使用,并将NSOperationQueue与4个并发操作一 ..

不使用块的dispatch_async

我想偶尔使用dispatch_async从我的Web服务器中获取变化的资源(大约每60秒一次). 我想使用dispatch_async,但是我想给它一个函数名.由于我希望该功能进入睡眠状态,然后再次重做同一件事. 这是我正在尝试做的事情dispatch_async(self.downloadQueue, @selector(getDataThread:));(这不会编译) 我认为 ..
发布时间:2020-11-20 05:25:35 移动开发

异步Swift 3

我需要进行异步调用,以便仅在第一个方法完成后才调用第二个方法.这两个方法都是网络调用.像这样: signIn() getContacts() 我想确保只有在登录完成后才调用getContacts. FWIW,我无法编辑方法签名,因为它们来自Google SDK. 这是我尝试过的: let queue = DispatchQueue(label: "com.app.queue" ..

dispatch_after时间立即触发

我承认,这是我第一次使用GCD,很抱歉,如果我很愚蠢.我有一条dispatch_after命令,对我来说这是一个方便的延迟. 我的问题是,我发送邮件时 dispatch_after(500000000000, dispatch_get_main_queue()){ println("triggered") //or any other code } 关闭立即触发(例如,我已 ..
发布时间:2020-11-20 05:24:23 移动开发

是否可以使dispatch_queue_t为空?

我找不到有关它的任何信息.我的应用程序中有一个dispatch_queue_t,我在其中放置了一些任务.但是这些任务需要一些时间,而且有时不应该再调用它们,因此我想清理队列.有可能吗? 解决方案 使用NSOperationQueue来实现这些功能-更加方便.将操作添加到队列后,您可以取消它们,甚至在需要时甚至取消所有待处理的操作. 这是一个入门的好教程: http://www.ray ..
发布时间:2020-11-20 05:24:14 移动开发

NSFileHandle writeData同步延迟主线程操作

我有一个记录器的自定义实现,该记录器记录了我的应用程序中的操作和操作. 强大的NSString参考生活在我的Singleton课堂之一中. 每当我需要记录某些内容时,我都会调用一个名为"-(void)writeToFile: (BOOL) rightNow"的方法.这种方法也存在于Singleton类中. 传递给rightNow的是,将触发对NSFileHandle上的write ..

什么时候使用GCD队列,何时知道您需要它们?迅速

在了解了并发和串行队列,同步和异步之后,我想我对如何创建队列及其执行顺序有所了解.我的问题是,在我所见过的任何教程中,都没有实际上告诉您许多用例.例如: 我有一个网络管理员,该管理员使用URLSessions并序列化json以向我的api发送请求.将其包装在.utility队列中或在.userInitiated中是否有意义,或者我只是不将其包装在队列中. let task = Logi ..
发布时间:2020-11-20 05:24:03 移动开发

For循环中的DispatchGroup

因此,我花了一些时间试图让DispatchGroup在长时间的异步操作完成之前阻止for循环迭代.我发现的大多数示例都相当简单明了,但是我似乎无法像我期望的那样使简单的测试用例正常工作. let group = DispatchGroup() for i in 1...3 { group.enter() print("INDEX \(i)") ..
发布时间:2020-11-20 05:23:01 移动开发