草庐IT

async_read

全部标签

ios - 调度组 : for-loop *and* async calls within the for-loop

我了解如何在简单的for循环中使用调度组。但是,我有一个更复杂的for循环,其中包含更多异步调用。我希望在执行组完成代码之前完成所有异步调用。我试图应用此答案中的原则无济于事-CanIusedispatchgroupnotinaloop?.这是我的代码,基于我在该链接中观察到的技术:letgroup=DispatchGroup()forrefinself.notifsRefList{group.enter()self.db.fetch(withRecordID:ref.recordID){notifRecord,notifErrinprint("asynccall")ifnotifEr

parallel-processing - Swift 是否具有通过 Grand Central Dispatch 的 dispatch_async 进行并行编程的结构?

我有兴趣采用新的Swift编程语言。我维护的代码库通过C++GrandCentralDispatch扩展(dispatch_async等)广泛使用多核处理有没有审查过Swift现状的人知道这种语言是否能够以类似的方式访问GCD? 最佳答案 是的,虽然我在Playground上没有取得太大的成功,但确实如此。在一个真实的项目中它应该工作。所有iOS8和OSX10.10文档都显示了GCD方法的Swift语法。我在当前项目中为单例使用dispatch_once,它工作得很好:NSOperation和NSOperationQueue都在底层

json - Swift 到 Swift 3 代码转换 : Reading JSON files

我有这段用于读取JSON文件的代码,我正在尝试将其移至Swift3环境中。在这里:do{letdictionary=tryNSJSONSerialization.JSONObjectWithData(dataOK,options:NSJSONReadingOptions())asAnyObject!dictionaryOK=(dictionaryas!NSDictionaryas?Dictionary)!}catch{print("Levelfile'\(filename)'isnotvalidJSON:\(error)")returnnil}Xcode给出了修复一些错误的建议(因为一

ios - 为什么我的代码只能在 DispatchQueue.main.async block 内运行?

这个问题在这里已经有了答案:CodeonlyworkswithinaDispatchQueue.main.asyncblock,why?(1个回答)关闭6年前。我编写这段代码是为了在用户开始编辑UITextField时选择所有文本:@IBActionfunconEditingBegin(_sender:Any){print("editingbegan")lettextfield=senderas!UITextFieldtextfield.selectAll(nil)}但它不会工作,直到我将textfield.selectAll(nil)行包含在DispatchQueue.main.as

ios - 如何判断一条语句是否需要放在DispatchQueue.main.async中?

我正在尝试在viewDidLoad中获取subview的绑定(bind)大小:(canvas.bounds)最初我没有使用DispatchQueue.main.async包装器,并且没有正确返回大小。所以通过实验,我将语句包装在主线程队列中。然后它起作用了。我知道有一个指南说“UI相关操作需要放在主线程”。但这如何转化为实际的编码经验法则:如果我只是查询一个UI属性,比如获取边界大小,我是否需要将它包装在主线程队列中吗?如果我要更改UI属性(property),例如改变边界大小,我需要把它包在里面吗主线程队列?(我想可能是的)overridefuncviewDidLoad(){supe

Android Emulator : qemu-system-i386. exe:goldfish_battery_read:偏移量错误

所以,每当我尝试在android模拟器上启动我的应用程序时,IDE都会被以下错误轰炸:Emulator:qemu-system-i386.exe:goldfish_battery_read:Badoffset.......此错误还会显示应用程序每分钟左右运行的时间。我正在使用AndroidStudio3测试版6API级别26模拟器26.1.4AndroidSDK工具26.1.1图片x8626(奥利奥)...我尝试重新安装所有SDK工具并将所有内容更新到最新版本,但没有成功。我还重新安装了IDE并重新下载了所有内容,但仍然显示此错误。我想知道是否有人也遇到了这个错误?

Android Emulator : qemu-system-i386. exe:goldfish_battery_read:偏移量错误

所以,每当我尝试在android模拟器上启动我的应用程序时,IDE都会被以下错误轰炸:Emulator:qemu-system-i386.exe:goldfish_battery_read:Badoffset.......此错误还会显示应用程序每分钟左右运行的时间。我正在使用AndroidStudio3测试版6API级别26模拟器26.1.4AndroidSDK工具26.1.1图片x8626(奥利奥)...我尝试重新安装所有SDK工具并将所有内容更新到最新版本,但没有成功。我还重新安装了IDE并重新下载了所有内容,但仍然显示此错误。我想知道是否有人也遇到了这个错误?

ios - 线程池 : DispatchQueue. main.async

我从事过Java工作,并且非常清楚线程和线程池的工作原理。我想知道是否有人可以解释如何在swift中创建线程和在线程池中分配空间?还有,是吗Dispatch.main.async{//somecode}创建新线程还是异步执行任务?提前致谢=) 最佳答案 队列和线程是不同的概念。队列是要执行的block的有序(有时是优先级)序列。作为(主要)实现细节,block必须被安排到线程上才能执行,但这不是它们的重点。所以Dispatch.main.async分派(dispatch)(追加)一个block到主队列。主队列是串行的并且有些特殊,因

ios - 在 Swift 中使用 dispatch_async 并发分析一个数组

我正在尝试使用GCD的后台线程同时分析一张照片。这是我写的代码:dispatch_async(dispatch_get_global_queue(Int(QOS_CLASS_UTILITY.value),0)){for(vari=0;i为了澄清变量名称,这里是它们的描述:photoAnalyzer是我编写的名为Analyzer的类的一个实例,它包含处理图像的所有方法。analyzeColors是Analyzer类中的一个方法,它执行大部分分析并返回一个字符串,其中包含传入图像的主色imageStrips是UIImage的数组,它们构成了原始图像的各个部分colorList是一个字符串数

安卓权限: Phone Calls: read phone state and identity

我的android应用与电话无关,但我看到当我在测试设备上安装调试版本时,它需要“电话:读取电话状态和身份”权限。(我在AndroidManifest.xml中没有提到这一点)。我想拥有尽可能少的权限,想知道是否有人知道如何摆脱它?我注释掉了我从Build.MODEL、Build.VERSION.*等记录一些东西的部分。我还注释掉了我检测景观的部分/portrait方向认为那可能是“电话状态”。但这些似乎都没有删除所需的权限。我发现了这个错误报告:http://code.google.com/p/android/issues/detail?id=4101但它被标记为按预期工作,并附有关