问题标签 [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 投票
4 回答
9109 浏览

ios - dispatch_async -[__NSArrayM objectAtIndex:]:空数组的索引 0 超出范围

我无法修复此错误:*** Terminating app due to uncaught exception 'NSRangeException', reason: '*** -[__NSArrayM objectAtIndex:]: index 0 beyond bounds for empty array' ***

关于如何做到这一点的任何想法?

似乎该错误是由数组的初始化引起的。

第一次执行该方法时,没有显示任何问题。该错误仅在第二次发生。

Dispatch_Async 方法

RequestJson 方法

由于崩溃日志是这样的:

0 投票
1 回答
1567 浏览

ios - dispatch_async UITableView ReloadData

我有一个问题,当启动 viewDidLoad 方法时,数据在 UITableView 中正确加载并显示,但是当我必须通过 clickPopular 方法重新加载数据时,TableView 没有更新。

关于如何做到这一点的任何想法?

viewDidLoad 方法

流行方法

LoadJson 方法

StartCaricamento 和 Stop Caricamento 方法

0 投票
1 回答
166 浏览

objective-c - 如何找到我尝试使用 ZipArchive 解压缩的文件?

ZipArchive 无法找到我要解压缩的文件。我究竟做错了什么?我正在尝试在 dispatch_async 中完成所有这些,这是我的问题吗?

我最终得到“找不到 zip 文件”。在我的日志中。当我检查查找应该在我的应用程序数据文件中创建的目录时,它无处可寻。zip文件如何存在。

这是一个与我正在尝试做的非常相似的教程的链接。我还添加了所需的库。

根据请求编辑代码以包括错误处理:

添加了 PHP 代码

编辑 我的函数返回一个 19.2MB 的 zip 文件。但是在我的应用程序数据文件中,zip 文件是 0 字节。

0 投票
1 回答
611 浏览

ios - IOS dispatch_async 将 NSString 从线程传递到主视图

第一篇文章 - 请温柔。

我正在尝试将远程控制应用程序从 Android 移植到 iPhone,并且在主视图中的方法上使用 dispatch_async 进行线程内通信时遇到了一些困难。

该应用程序有一个单独的 ControlPanel 类,它负责与远程客户端的通信。ControlPanel 通信对象被实例化为一个后台线程,它负责对设备的连续网络通信,我需要后台线程将简单的文本字符串传递给 UI 线程 - 更新一个文本字段。

我看过很多例子,但似乎都没有处理定义,我一直在绕圈子。如何在 ControlPanel 类中定义方法?我尝试了各种定义方法,但没有取得任何进展。我错过了一些简单的东西吗?建议使用 viewDidLoad 中的 updateKeypadDisplay 作为执行此操作的方法,但我对语法的理解不足以了解我哪里出错了。

0 投票
1 回答
196 浏览

objective-c - 如何调用异步请求但有额外的代码等待Objective-C中的响应

这就是我正在做的事情:我正在处理一个登录,该登录需要之后操作数据,然后触发一个新视图。我想做一个异步请求,因为服务器并不总是立即响应(我不希望崩溃,因为我用同步连接阻止了主线程)

这就是它现在的样子:

现在我的问题是它实际上并没有在视觉上推动视图。我可以看到我的 NSLog 响应工作正常(新视图立即以“Hello,[name]”响应),但视觉上没有显示任何内容 - 这是一个问题。

不过没关系,我决定改为分离代码并尝试在主线程上运行视图转换

这是我在网上看到的改编:

所以它正在做的是给我这个:

2014-03-28 21:53:37.059 myApp [652:60b] 初始化 NSURL 响应

2014-03-28 21:53:37.059 myApp [652:3507] 开始异步请求

2014-03-28 21:53:37.059 myApp[652:3507] 开始主线程工作

它完全跳过了嵌入式异步请求。

所以我剩下的是两个脱离主线程的解决方案,它们没有做我想要的: 我想从主线程运行 NSURLConnection,我正在取回我需要解析的 JSON 数据,并且我想等到在转换视图之前获得并解析该数据。

这是我试图做的可能吗?或者我的眼睛是呆滞的,我只是没有看到我应该看到的东西?

0 投票
1 回答
247 浏览

ios - for循环中的异步任务

我希望它们执行三种方法,如下所示:

我所拥有的总是数据库中的随机数据,此外,并非所有数据都被存储。我的问题是如何组织这些异步任务以在数据库中获取正确的数据。非常感谢您的帮助。

编辑:

0 投票
1 回答
369 浏览

ios - Wait for an async task operation to finish and continue the current async task

I have two methods that are running their code in background, and method1 triggers method2 as follows:

Basing on the NSLogs, I want to have :

But I'm having:

Is there a way to order the execution of those methods? Thank you very much for your help.

0 投票
2 回答
168 浏览

objective-c - 将 FIFO dispatch_async 队列转换为并发

此代码在工作时按 FIFO 顺序执行两个任务:

我想让两个任务同时运行。这可能吗?

0 投票
1 回答
95 浏览

ios - 如何在一定时间后取消方法?

我有一个简单的应用程序,它基本上运行一个获取实时 HTML 数据的方法,然后在按下按钮后使用 xpath 查询提取一些信息。

有时它在获取过程中挂起,所以我要做的是取消该方法,然后在经过一定时间后运行另一个方法(显示一个“重试”按钮)。

我曾尝试使用 dispatch_async 在当前方法上运行一种方法,但我没有运气,因为在调用 dispatch_async 后它仍然完成了运行。所以我想取消原来的方法会阻止这种情况的发生。

解决这个问题的最佳方法是什么?提前谢谢了。

注意:我根本没有使用 NSURLRequest。

0 投票
1 回答
583 浏览

ios - iPhone开发中在dispatch_async中调用NSURLConnection并在mainRunLoop中读取didReceiveResponse

我想要做的是得到以下方法的响应

打电话后

在一个里面

但是该connection方法没有调用。但是当我NSURLConnection在它之外运行代码时,dispatch_async它会调用该方法。

这是什么原因,我该如何纠正?那是因为delegate引用selfself引用了后台线程而不是UIViewController类本身吗?