nsoperation相关内容

试图理解异步操作子类

我正在尝试在辅助项目中开始使用 Operation,而不是在我的网络代码中散布基于闭包的回调来帮助消除嵌套调用.所以我在阅读这个主题时,遇到了 这个 实现: open class AsynchronousOperation: Operation {//MARK: - 属性private let stateQueue = DispatchQueue(label: "asynchronous.ope ..
发布时间:2022-01-31 18:10:00 移动开发

在 iOS 上的后台线程中绘图

我有一个带有一些非常复杂的绘图逻辑的视图(它是一个从 GIS 数据中绘制的地图视图).在主线程上执行此绘图会锁定 UI 并使应用程序无响应.我想通过 NSOperation 将绘图移至后台线程. 构建这个的最佳方式是什么? 我目前正在绘制到内存外的 CGContext,然后将其转换为 CGImageRef,我将其发送到视图以在主线程上进行 blit.不幸的是,这会占用大量内存,并且似乎 ..
发布时间:2022-01-23 11:15:47 移动开发

iPhone 上的 NSOperation

我一直在寻找一些具体的场景,当 iPhone 上的 NSOperation 是在应用程序中使用的理想工具时.据我了解,这是编写您自己的 threaded 代码的包装器.我还没有看到任何使用它的 Apple 演示应用程序,我想知道我是否错过了一个很棒的工具而不是使用 NSThread. 这里的理想解决方案是描述 NSOperation 的用例场景以及您将如何使用它来解决您的问题. 解决方 ..

iOS - 如何知道 NSOperationQueue 何时完成处理一些操作?

我需要在我的应用程序中下载目录及其内容.所以我决定实现一个 NSOperationQueue 并且我子类化 NSOperation 来实现 NSURLRequest 等...... 问题是我一次添加了所有操作,但我无法确定何时下载一个目录的所有文件以更新 UI 并启用此特定目录. 现在我必须等待所有目录中的所有文件都下载完毕才能更新 UI. 我已经为 NSOperationQue ..
发布时间:2021-12-20 21:07:44 移动开发

当 NSOperationQueue 完成所有任务时获取通知

NSOperationQueue 有 waitUntilAllOperationsAreFinished,但我不想同步等待它.我只想在队列完成时隐藏 UI 中的进度指示器. 实现这一目标的最佳方法是什么? 我无法从我的 NSOperation 发送通知,因为我不知道哪个将是最后一个,而且 [队列操作] 可能不会收到通知时为空(或更糟 - 重新填充). 解决方案 使用KVO观察你 ..
发布时间:2021-12-03 11:24:26 移动开发

如何在 Swift 中使用 NSURLSession downloadTask 顺序下载多个文件

我有一个应用程序需要下载多个大文件.我希望它按顺序而不是同时下载每个文件.当它同时运行时,应用程序会过载并崩溃. 所以.我试图将 downloadTaskWithURL 包装在 NSBlockOperation 中,然后在队列上设置 maxConcurrentOperationCount = 1.我在下面写了这段代码,但它不起作用,因为两个文件都是同时下载的. 导入 UIKit类 View ..
发布时间:2021-12-02 15:52:39 移动开发

NSOperation 与 Grand Central Dispatch

我正在学习 iOS 的并发编程.到目前为止,我已经阅读了关于 NSOperation/NSOperationQueue 和 GCD.使用 NSOperationQueue 而不是 GCD 反之亦然的原因是什么? 听起来像 GCD 和 NSOperationQueue 从用户那里抽象出 NSThreads 的显式创建.然而,我不清楚这两种方法之间的关系,所以任何反馈都值得赞赏! 解决方案 ..

带有 NSOperations 的 iOS 应用架构

两个月前,我开始编写一个新的 iPhone 应用程序,因此我创建了一个通用的 RESTFul Web 服务,它允许我拥有许多这些必要的功能,如用户身份验证、用户配置文件、友谊系统、媒体处理,消息系统等等.在我看来,有几个用例可以为未来的 iPhone 应用程序重用这个 web 服务. 带着这种心态,我决定为这个应用程序(以及所有未来的应用程序)编写一个静态库来处理所有繁重的工作,比如媒体(图 ..

ios NSOperationQueue,操作都在添加时运行,不要排队

所以,我有一组 ASINetworkQueues,它们当前一起运行,导致数据库保存时出现竞争条件.我正在尝试创建一个 NSOperationQueue,它将对每个“子队列"进行排队.我目前已经创建了一个 NSOperation 和一个主要方法,该方法启动“子队列"以开始下载. 我的问题是,每次我使用“addOperation"向主队列添加子队列时,它会立即触发“main"方法,因此我的子队列 ..
发布时间:2021-06-09 20:10:41 移动开发

NSOperation KVO问题

我正在使用以下函数在 nsoperationqueue 中的操作完成后通知我的应用程序,以便我可以安排依赖于操作结果的任务.我正在使用: - (void)observeValueForKeyPath:(NSString *)keyPathofObject:(id) 对象变化:(NSDictionary *)变化上下文:(空*)上下文{if([keyPath isEqual:@"isFinishe ..
发布时间:2021-06-09 20:10:33 移动开发

NSOperation 等待事件

我想创建一个扩展 NSOperation 的自定义类,以便通过蓝牙与另一台设备成功通信.我的问题是如何实现类的 main 方法,使其等待蓝牙触发的事件? 解决方案 永远不要使用无限循环.它不节能.正如@lead_the_zeppelin 所说,使用信号量/互斥量/等.例如,您可以像这样使用 dispatch_group 函数: dispatch_group_t waitGroup = d ..
发布时间:2021-06-09 20:10:30 移动开发

并发 NSOperation 以及如何设置 isFinished 和 isExecuting?

我正在尝试使用 NSOperations 拆分我的程序流.我正在使用 Parse 框架来制作一个简单的消息应用程序.我想显示一些消息,然后删除它们.除非删除操作完成,否则不应调用显示消息,因此我想尝试使用 NSQueue 并向其添加 displayMessages 操作,然后添加 deleteMessages 操作(下面命名为 MyOperation ).我知道并发操作意味着它们只会以队列方式一个 ..
发布时间:2021-06-09 20:10:27 移动开发

NSOperation mainQueue 问题

我有幻灯片,我想显示大图,我在[NSOperation mainQueue]操作中加入了低优先级,这个操作显示了图像. 如果图像很小,一切正常,但是当图像大约为 5Mb 时,视图会冻结 1 秒,并且我无法滚动幻灯片.我认为,对于 iPhone 来说,显示大图像太难了,主队列太过载了. 但我不明白,因为我所有的显示代码都是在低优先级操作中执行的. 这是显示代码. [imageVi ..
发布时间:2021-06-09 20:10:24 移动开发

NSOperationQueue,NSOperation

我是 iphone 的新手.我在哪里可以得到 NSOperationQueue、NSOperation 的示例? NSOperationQueue、NSOperation相比线程有什么优势? 谢谢 解决方案 阅读文档.他们真的很擅长解释和举例 http://developer.apple.com/library/ios/#documentation/General/Conce ..
发布时间:2021-06-09 20:10:19 其他开发