grand-central-dispatch相关内容

与GCD的最后进入堆叠?

我有一个UITableView,显示与每行中的联系人关联的图像。在一些情况下,这些图像在地址簿联系人图像的第一显示器上被读取,并且在没有一个的情况下,他们是基于存储的数据呈现的化身。我现在使用GCD在后台线程上更新这些图像。但是,这会按照请求的顺序加载图像,这意味着在快速滚动期间队列变得冗长,当用户停止滚动时,当前单元格是 last 以进行更新。在iPhone 4上,这个问题并不是很明显,但我很想 ..

dispatch_async(dispatch_get_main_queue(),^ {...});等到完成?

我的应用程序中有一个场景,我想在一个方法中做一些耗费时间的任务,其中包括一些数据处理和UI更新。我的方法看起来像这样, - (void)doCalculationsAndUpdateUIs { // DATA PROCESSING 1 // UI UPDATE 1 //数据处理2 // UI更新2 //数据处理3 // UI更新3 } ..

Grand Central Dispatch(GCD)与performSelector - 需要更好的解释

我在我的应用程序中使用了GCD和performSelectorOnMainThread:waitUntilDone,并且倾向于认为它们是可互换的 - 也就是说,performSelectorOnMainThread:waitUntilDone是GCD C语法的Obj-C包装器。我一直在考虑这两个命令是等价的: dispatch_sync(dispatch_get_main_queue(), ..

正确的Singleton Pattern Objective C(iOS)?

我在网上发现了一些使用GCD创建单例类的信息。这很酷,因为它的线程安全,开销很低。遗憾的是,我找不到完整的解决方案,只能找到sharedInstance方法的片段。所以我使用试错法制作了自己的课程 - 以及等等 - 以下内容: @implementation MySingleton // MARK: - // MARK:使用GCD的单一模式 +(id)allocWith ..
发布时间:2018-08-30 17:39:39 移动开发

主队列上的performSelectorOnMainThread和dispatch_async有什么区别?

我在修改线程内的视图时遇到问题。我尝试添加子视图,但显示大约需要6秒或更长时间。我终于搞定了,但我不知道究竟是怎么回事。所以我想知道它为什么有效以及以下方法之间有什么区别: //这个工作 - 立即添加了视图 dispatch_async(dispatch_get_main_queue(),^ { //一些UI方法ej [查看addSubview:otherView]; } ..

如何在延迟后触发一个块,比如-performSelector:withObject:afterDelay:?

有没有办法在延迟后调用带有原始参数的块,比如使用 performSelector:withObject:afterDelay:,但是带有像 int / double / float ? 解决方案 我认为您正在寻找 dispatch_after()。它要求您的块不接受任何参数,但您可以让块从本地范围捕获这些变量。 int parameter1 = 12; float parame ..

iOS多线程 - NSURLSession和UI更新

我对iOS中的多线程有一个普遍的疑问: 在我非常简单的测试应用中,我使用NSURLSession从服务器下载一些小图像并将它们呈现在表格视图。在NSURLSession的回调中,在检索图像之后,我像这样调用tableview.reloadData(): var session = NSURLSession .sharedSession()。dataTaskWithURL(NSURL( ..
发布时间:2018-07-10 09:29:03 移动开发

需要同时发出两个HTTP网络请求(一旦完成就使用完成处理程序)

我有一种情况,我需要发出两个HTTP GET请求,并且只有在两个完成后才能处理它们的结果。我在每个单独的网络请求上都有一个完成处理程序,但它没有帮助,因为我不知道何时检索来自两个请求的数据。 我的经验有限GCD但是现在Swift 3已经出局了,我试图找出如何运行多个任务并为它们设置一个完成处理程序。我的研究表明,GCD或NSOperationQueue可能是我正在寻找的解决方案。任何人都可以 ..
发布时间:2018-07-09 14:45:43 移动开发

我们如何在iOS应用程序转到后台时调度Google Analytics事件?

我的iOS应用程序中有Apple App Store的链接,我试图将它们作为事件进行跟踪。 问题是我们无法使用我的应用程序在GA事件进入后台之前正确分派GA事件。我们正在使用iOS SDK v2beta4。 以下是我们正在使用的代码的概述。您可以看到我们已经投入了很多我称之为“保险策略”的代码,因为我们认为是正确的方式并不奏效。但即使是保险政策代码并不总是在我的应用程序进入后台之前调度 ..

如何使用dispatch_async_f?

我想要排队的功能不需要任何参数。我作为 paramContext 传入了什么?传入NULL会产生编译错误“无效使用void表达式”。我不想为我的函数添加一个参数来编译它 - 我如何完成这项工作? Mac OS X Snowleopard,包含Objective的Xcode 3.2.6 -C 解决方案 您需要以某种方式包装该功能。最简单的方法实际上是使用 dispatch_async( ..

GCD和for循环

我想知道使用for循环和使用GCD的 dispatch_apply 函数有什么区别,在文档中也没有找到答案, 。 另外,在运行时将使用GCD函数作为GLKit的render / update方法会产生更好的结果吗? $ b $ b 回答这个问题的唯一方法就是尝试一下并衡量性能。 ..
发布时间:2018-01-28 13:46:09 移动开发