草庐IT

event-queue

全部标签

ios - 为什么 NSManagedObjectContext Queue 在主线程上执行?

当我向类型为NSPrivateQueueConcurrencyType的MOC发送一个performBlock消息时,如下所示:[self.privateManagedObjectContextperformBlockAndWait:^{if([[NSThreadcurrentThread]isMainThread]){NSLog(@"executingonthemainthread!!");}…}];我发现,默认情况下,它在主线程上执行。上面代码中的条件触发,问题导航器指示执行发生在NSManagedObjectQueue中的Thread1上。这让我很费解,因为Apple告诉我们“每

ios - NSURLConnection 和 sendAsynchronousRequest :queue:completionHandler: - does the completion block run in the main thread

如果我将NSURLConnection与sendAsynchronousRequest:queue:completionHandler:一起使用,我是否需要在完成处理程序中采取任何特殊的预防措施?具体来说,通过NSURLConnection直接异步发送是否与使用dispatch_async相同/相似,因为完成block需要返回主线程才能与UI交互?例如:在使用dispatch_async与UI交互(可能是用词不当)后,应用必须使用performSelectorOnMainThread。sendAsynchronousRequest:queue:completionHandler:是否需

ios - 强引用dispatch_queue的retain cycle

在一个类中,我声明了一个线程:@property(nonatomic,strong)dispatch_queue_tdatabaseQueue;然后我执行这个线程的操作dispatch_async(self.databaseQueue,^{[self.daodeleteRetries];});这可能会产生一个保留周期吗?和当前类持有对viewControllerToDismiss的强引用,并且有一段代码如下所示:[viewControllerToDismissdismissViewControllerAnimated:shouldAnimateDismisscompletion:^{[

objective-c - 在主线程上调用 dispatch_sync(dispatch_get_global_queue()) 会导致 app 到 "hang"吗?

//Methodcalledwhenabuttonisclicked-(void)handleClickEvent{dispatch_sync(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT,0),^{[selfbackgroundProcessing];});//SomecodetoupdatetheUIoftheview....[selfupdateUI];....}1)当按下View上的按钮时,在主线程上调用handleClickEvent。2)我使用了dispatch_sync(),因为在计算backgroun

ios - clang:错误:没有这样的文件或目录: '/Users/waterskiingmithrill/Development/iPhone/Event/Event_Prefix.pch'

我搞砸了我的iPhone项目。我运行了svnupdate,几个月前就在摆弄存储库。此后发生了许多变化,几乎不可能从旧点恢复。当我现在尝试构建项目时,我得到:ProcessPCH/Users/waterskiingmithrill/Library/Developer/Xcode/DerivedData/Event-cqyicuekijryjpbuuucigvdrxrdc/Build/Intermediates/PrecompiledHeaders/Event_Prefix-brpgiiwwokyynuheloumlvxlmurs/Event_Prefix.pch.pthEvent_Pre

ios - dispatch_get_main_queue 和 dispatch_get_global_queue 的区别

我刚刚开始在iOS上工作,并且一直在浏览GCD上的Apple引用资料。dispatch_get_global_queue返回一个并发队列,可以向其中提交要执行的block。但是,我们也可以使用dispatch_get_main_queue实现同样的效果,对吧?那么,dispatch_get_global_queue和dispatch_get_main_queue到底有什么区别呢? 最佳答案 全局队列是一个后台队列,在非主线程上执行它的block。主队列在主线程上执行它的block。您应该将不涉及更改用户界面的后台工作放在全局队列中,

ios - AVPlayer 在更新进度 slider 时导致崩溃,断言失败 -[AVPlayerPeriodicCaller initWithPlayer :interval:queue:block:]

我在应用程序中遇到错误"Assertionfailurein-[AVPlayerPeriodicCallerinitWithPlayer:interval:queue:block:],/SourceCache/EmbeddedAVFoundation/EmbeddedAVFoundation-461.12/Fig/AVPlayer.m:3993Terminatingappduetouncaughtexception'NSInternalInconsistencyException',reason:'Invalidparameternotsatisfying:CMTIME_COMPARE

ios - dispatch_set_target_queue 是如何工作的?

由于dispatch_set_target_queue资料不足,特来求助,万分感谢!这是我的测试代码:dispatch_queue_tmySerialDispatchQueue1=dispatch_queue_create("come.itenyh",NULL);dispatch_queue_tmySerialDispatchQueue2=dispatch_queue_create("come.itenyh1",NULL);dispatch_set_target_queue(mySerialDispatchQueue1,mySerialDispatchQueue2);dispatch_

iphone - iOS 开发 : What's a simple way to calculate the number of seconds that have passed between two events?

我需要计算iPhone上两个事件之间经过的秒数。为此,我需要存储第一个事件发生的时间,并将其与第二个事件发生的时间进行比较,看看是否已经超过30秒。我正准备开始尝试使用NSDate类来完成此操作,但我想知道是否有一种不使用对象的更简单方法来完成此操作,因为我更愿意存储简单的内在值而不是对象。谢谢你的智慧! 最佳答案 如果你真的想避免存储对象,你可以这样做:doublestartTime=[[NSDatedate]timeIntervalSince1970];//RunyourothercodedoubleendTime=[[NSDa

ios - swift : Value Changing Control Events Not Calling?

因此,我已将目标添加到我创建的IBAction中,这些目标会在文本字段的值更改时发生。当这些Action发生时,系统应该检查两个文本字段是否都是整数。我将两个变量设置为false,当它们都是int时,它们被设置为true。在IBAction中,如果两个变量都包含整数,我有if语句告诉按钮启用。当我运行模拟器时,如果两个文本字段都包含整数,则此按钮不会启用。我是swift的新手,所以如果可能的话,请写出所有代码以及它应该在我的代码中的什么位置。这是我目前所拥有的:importUIKitclassViewController:UIViewController,UITextFieldDele