nsoperation相关内容
我正在尝试在辅助项目中开始使用 Operation,而不是在我的网络代码中散布基于闭包的回调来帮助消除嵌套调用.所以我在阅读这个主题时,遇到了 这个 实现: open class AsynchronousOperation: Operation {//MARK: - 属性private let stateQueue = DispatchQueue(label: "asynchronous.ope
..
..
我有一个带有一些非常复杂的绘图逻辑的视图(它是一个从 GIS 数据中绘制的地图视图).在主线程上执行此绘图会锁定 UI 并使应用程序无响应.我想通过 NSOperation 将绘图移至后台线程. 构建这个的最佳方式是什么? 我目前正在绘制到内存外的 CGContext,然后将其转换为 CGImageRef,我将其发送到视图以在主线程上进行 blit.不幸的是,这会占用大量内存,并且似乎
..
我一直在寻找一些具体的场景,当 iPhone 上的 NSOperation 是在应用程序中使用的理想工具时.据我了解,这是编写您自己的 threaded 代码的包装器.我还没有看到任何使用它的 Apple 演示应用程序,我想知道我是否错过了一个很棒的工具而不是使用 NSThread. 这里的理想解决方案是描述 NSOperation 的用例场景以及您将如何使用它来解决您的问题. 解决方
..
我需要在我的应用程序中下载目录及其内容.所以我决定实现一个 NSOperationQueue 并且我子类化 NSOperation 来实现 NSURLRequest 等...... 问题是我一次添加了所有操作,但我无法确定何时下载一个目录的所有文件以更新 UI 并启用此特定目录. 现在我必须等待所有目录中的所有文件都下载完毕才能更新 UI. 我已经为 NSOperationQue
..
NSOperationQueue 有 waitUntilAllOperationsAreFinished,但我不想同步等待它.我只想在队列完成时隐藏 UI 中的进度指示器. 实现这一目标的最佳方法是什么? 我无法从我的 NSOperation 发送通知,因为我不知道哪个将是最后一个,而且 [队列操作] 可能不会收到通知时为空(或更糟 - 重新填充). 解决方案 使用KVO观察你
..
我有一个应用程序需要下载多个大文件.我希望它按顺序而不是同时下载每个文件.当它同时运行时,应用程序会过载并崩溃. 所以.我试图将 downloadTaskWithURL 包装在 NSBlockOperation 中,然后在队列上设置 maxConcurrentOperationCount = 1.我在下面写了这段代码,但它不起作用,因为两个文件都是同时下载的. 导入 UIKit类 View
..
我正在学习 iOS 的并发编程.到目前为止,我已经阅读了关于 NSOperation/NSOperationQueue 和 GCD.使用 NSOperationQueue 而不是 GCD 反之亦然的原因是什么? 听起来像 GCD 和 NSOperationQueue 从用户那里抽象出 NSThreads 的显式创建.然而,我不清楚这两种方法之间的关系,所以任何反馈都值得赞赏! 解决方案
..
我想要一个 for in 循环向 firebase 发送一堆网络请求,然后在方法完成执行后将数据传递给新的视图控制器.这是我的代码: var datesArray = [String: AnyObject]()对于locationsArray中的键{让 ref = Firebase(url: "http://myfirebase.com/" + "\(key.0)")ref.observeSin
..
两个月前,我开始编写一个新的 iPhone 应用程序,因此我创建了一个通用的 RESTFul Web 服务,它允许我拥有许多这些必要的功能,如用户身份验证、用户配置文件、友谊系统、媒体处理,消息系统等等.在我看来,有几个用例可以为未来的 iPhone 应用程序重用这个 web 服务. 带着这种心态,我决定为这个应用程序(以及所有未来的应用程序)编写一个静态库来处理所有繁重的工作,比如媒体(图
..
我遇到过这样一个耗时的 for 循环: int sum = 0;for (int i = 0; i
..
例如我有 3 个对象: NSOperation *op1 = ...;NSOperation *op2 = ...;NSOperation *op3 = ...;[op3 addDependency:op2];[op2 addDependency:op1];NSOperationQueue *queue = ...;queue.maxConcurrentOperationCount = 1;[队
..
所以,我有一组 ASINetworkQueues,它们当前一起运行,导致数据库保存时出现竞争条件.我正在尝试创建一个 NSOperationQueue,它将对每个“子队列"进行排队.我目前已经创建了一个 NSOperation 和一个主要方法,该方法启动“子队列"以开始下载. 我的问题是,每次我使用“addOperation"向主队列添加子队列时,它会立即触发“main"方法,因此我的子队列
..
我正在使用以下函数在 nsoperationqueue 中的操作完成后通知我的应用程序,以便我可以安排依赖于操作结果的任务.我正在使用: - (void)observeValueForKeyPath:(NSString *)keyPathofObject:(id) 对象变化:(NSDictionary *)变化上下文:(空*)上下文{if([keyPath isEqual:@"isFinishe
..
我想创建一个扩展 NSOperation 的自定义类,以便通过蓝牙与另一台设备成功通信.我的问题是如何实现类的 main 方法,使其等待蓝牙触发的事件? 解决方案 永远不要使用无限循环.它不节能.正如@lead_the_zeppelin 所说,使用信号量/互斥量/等.例如,您可以像这样使用 dispatch_group 函数: dispatch_group_t waitGroup = d
..
我正在尝试使用 NSOperations 拆分我的程序流.我正在使用 Parse 框架来制作一个简单的消息应用程序.我想显示一些消息,然后删除它们.除非删除操作完成,否则不应调用显示消息,因此我想尝试使用 NSQueue 并向其添加 displayMessages 操作,然后添加 deleteMessages 操作(下面命名为 MyOperation ).我知道并发操作意味着它们只会以队列方式一个
..
我有幻灯片,我想显示大图,我在[NSOperation mainQueue]操作中加入了低优先级,这个操作显示了图像. 如果图像很小,一切正常,但是当图像大约为 5Mb 时,视图会冻结 1 秒,并且我无法滚动幻灯片.我认为,对于 iPhone 来说,显示大图像太难了,主队列太过载了. 但我不明白,因为我所有的显示代码都是在低优先级操作中执行的. 这是显示代码. [imageVi
..
我正在创建一个 MyOperation 对象(从 NSOperation 继承)并添加到 NSOperationQueue.然后我在 MyOperation 上做 KVO.我正在使用这种方法 - (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change co
..
我是 iphone 的新手.我在哪里可以得到 NSOperationQueue、NSOperation 的示例? NSOperationQueue、NSOperation相比线程有什么优势? 谢谢 解决方案 阅读文档.他们真的很擅长解释和举例 http://developer.apple.com/library/ios/#documentation/General/Conce
..
我有以下代码: func testFunc(completion: (Bool) -> Void) {让队列 = NSOperationQueue()queue.maxConcurrentOperationCount = 1因为我在 1...3 {queue.addOperationWithBlock{Alamofire.request(.GET, "https://httpbin.org/ge
..