jjzjj

NSOperation

全部标签

ios - 无法使用 NSTimer 使 NSOperation 超时

我正在尝试使用NSTimer使我的NSOperation超时,但我的计时器没有被触发。请看下面我在类中编写的代码,它是NSOperation的子类。-(void)start{//StartthetimerforTimeoutbeforethepingactivitystartsself.timeOutTriggerTimmer=[NSTimerscheduledTimerWithTimeInterval:10.0target:selfselector:@selector(cancelTheOperation)userInfo:nilrepeats:NO];[[NSRunLoopcurr

ios - 将 "Final"NSOperation 添加到具有未确定操作数的队列

我使用AFNetworking作为我的网络堆栈来与Web服务通信并填充本地数据存储。在同步运行期间,我有一组要运行的API端点,运行完成后,我添加了一个最终操作,该操作使用生成的JSON来填充数据库。我遇到的问题是,其中一些JSON获取操作的结果需要我调用其他端点,现在我不知道何时应该添加“最终”操作。我现在的工作方式是,我有一系列的主要操作,然后添加“最终”操作。在那段时间里,主要因素已经返回并导致我创建次要操作,如下所示:*PrimaryFetchOperationA*PrimaryFetchOperationB*FinalOperation*SecondaryFetchOpera

ios - 取消 NSOperation 并立即将其从队列中移除

所以这几天我一直在思考这个问题,但我似乎找不到一个好的方法让它发挥作用。我有一个NSOperationQueue一次只允许一个操作。我从文档中了解到:InOSXv10.6andlater,cancelinganoperationcausestheoperationtoignoreanydependenciesitmayhave.Thisbehaviormakesitpossibleforthequeuetoexecutetheoperation’sstartmethodassoonaspossible.Thestartmethod,inturn,movestheoperationtot

ios - NSOperation 和 NSURLConnection 迷惑了

我正在尝试使用NSOperation和NSOperationQueue从某个服务器下载多个图像。我的主要问题是下面的代码片段和这个链接有什么区别http://www.dribin.org/dave/blog/archives/2009/05/05/concurrent_operations/,性能明智?我更喜欢第二种解决方案,因为我们对操作有更多的控制,它更清晰,如果连接失败,您可以妥善处理。如果我尝试使用以下代码从服务器下载大约300张图片,我的应用程序会有相当大的延迟,如果我启动该应用程序并立即转到主屏幕,然后返回到该应用程序,我会崩溃,因为没有足够的时间让应用程序再次激活。如果我

ios - 在 NSOperation 中设置 UIImage 时内存泄漏

我遇到了一个问题,相对较大的图像似乎永远不会从内存中释放(大小为1MB~5MB)。当用户滚动浏览一组图像时,将调用以下代码块。大约15张图像后,应用程序将崩溃。有时会调用“didReceiveMemoryWarning”,有时不会——应用程序只会崩溃、停止、退出调试,而不是在任何代码行停止——什么都没有。我假设这是设备内存不足时发生的情况?另一个问题是“dealloc”似乎永远不会被子类“DownloadImageOperation”调用。有什么想法吗?获取和设置图片://Callingthisblockofcodemultipletimeswilleventuallycausethe

ios - NSOperation 队列优先级未按预期工作

我正在研究NSOperation类并尝试模拟一种情况,当我需要管理操作的优先级时。请考虑以下代码:@implementationMyOperation//FirstcustomNSOperationclass-(void)main{@autoreleasepool{NSLog(@"Firstoperationstart");}}@implementationMySecondOperation//SecondcustomNSOperationclass-(void)main{@autoreleasepool{NSLog(@"Secondoperationstart");}}@implem

ios - 如何在 NSOperation 中运行异步进程

我需要通过我正在处理的应用程序中的后台线程从网络服务更新一些数据。通常我只是通过NSOperationQueue和NSOperation的main()函数中的同步网络请求来完成此操作。但是,对于这个特定的数据获取,应用程序需要使用OAuth并且我正在使用的OAuthConsumer库通过异步请求执行对网络服务的请求委托(delegate)方法回调成功/失败。我的问题是那些完成的委托(delegate)回调似乎得到了进程,因为(据我所知)当到达main()函数的末尾时,我的操作进程被销毁/清理,并且该操作从操作队列的堆栈中弹出。这准确吗?如果是这样,是否有通过NSOperationQue

ios - NSOperation KVO 已完成

我正在尝试子类化NSOperation,并从中读取一些样本,他们说:任务完成后,使用NSOperation的KVO来完成操作,代码在这里:[selfwillChangeValueForKey:@"isFinished"];[selfwillChangeValueForKey:@"isExecuting"]finished=YES;executing=NO;[selfdidChangeValueForKey:@"isFinished"];[selfdidChangeValueForKey:@"isExecuting"];然后调用isFinished-(BOOL)isFinished{re

ios - NSOperation with NSTimer循环如何停止它

我的NSOperationQueue在另一个线程上运行,而不是在整个应用程序上运行。我正在将NSOperation添加到main中的队列中-(void)main{[selfupdatePallets];NSTimer*timer=[NSTimerscheduledTimerWithTimeInterval:5.0target:selfselector:@selector(updatePallets)userInfo:nilrepeats:Yes];NSRunLoop*runLoop=[NSRunLoopcurrentRunLoop];[runLoopaddTimer:timerforM

ios - NSOperation 死锁并阻塞 NSOperationQueue

我使用NSOperation的子类通过亚马逊的iOSSDK(v1.3.2)将大文件上传到AWSS3。这一切工作正常,但一些Beta测试人员遇到死锁(iOS5.1.1)。结果是调度操作的NSOperationQueue被阻塞,因为一次只允许运行一个操作。问题是我无法重现该问题,而Beta测试人员每次都会遇到此问题。由于AWSiOSSDK的工作方式,操作相当复杂。但是,据我所知,根据我的测试,该问题与AWSiOSSDK无关。该操作的主要方法粘贴在下面。操作的main方法的思路是基于thisStackOverflowquestion.-(void)main{//OperationShould