ios - iPhone - 异步 NSURLConnection HTTP 响应可能会干扰正在运行的进程吗?

标签 ios multithreading cocoa asynchronous nsurlconnection

我有一个请求:

[NSURLConnection connectionWithRequest:urlRequest delegate:self];

已启动。

当我随时收到:

- (void)connectionDidFinishLoading:(NSURLConnection*)connection

我更改数组的内容(删除或添加项目)。

在程序的另一部分,我必须解析该数组才能处理其内容。

所以问题是:当我处理数组的内容时(“for xxx in array”循环),服务器的响应(可能随时出现)可能会导致 的代码connectionDidFinishLoading 更改该数组,并使整个事情崩溃?

最佳答案

是的,这会导致您的应用程序崩溃。您可以使用 NSURLConnection 委托(delegate)方法正在修改的数组的副本,或者等待该方法完成,然后再迭代数组中的项目。

也许在存在事件的 NSURLConnection 时阻止该特定操作,以便 UI 的其余部分仍然可用。

关于ios - iPhone - 异步 NSURLConnection HTTP 响应可能会干扰正在运行的进程吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7054254/

相关文章:

iphone - 在 Objective C (cocoa) 中将十六进制数据字符串转换为 NSData

ios - 关于为什么这个 Swift 代码不能编译的任何想法?

ios - UILabel 和 UIActivityIndi​​catorView 以 UITableView 的可见区域为中心

ios - 如何在 Swift 中应用多个转换

iphone - NSKeyedArchiver 仅对数组的一部分进行编码

objective-c - Mac OS X 崩溃日志调试 Objective C

ios - 无法从此设备复制符号使用 iOS 9.2.1 Xcode 是 7.2

python - Flask-socketio 在后台线程中复制文件时丢失事件

java - java中的中断线程

ios - 核心数据多线程应用