草庐IT

NStimer、CADisplayLink、dispatch_source_t

全部标签

ios - 在 NSOperationQueue 线程中运行 NSTimer

我正在尝试在NSOperationQueue设置的线程上运行NSTimer-(void)apiCallbackQueueManager:(NSString*)callid:(NSString*)service:(NSString*)action:(NSString*)data{SELtheSelector=@selector(apiCallbackQueueTimer:service:action:data:);NSMethodSignature*sig=[selfmethodSignatureForSelector:theSelector];NSInvocation*theInvoc

ios - Autoreleasepool 和 dispatch_async

看了GCD的文章,有个例子:dispatch_queue_tbgQueue=myQueue;dispatch_async(dispatch_get_main_queue(),^{NSString*stringValue=[[[textFieldstringValue]copy]autorelease];dispatch_async(bgQueue,^{//usestringValueinthebackgroundnow});});如果我将该方法放在点击处理程序中(将在autoreleasepool中调用),我是否会丢失stringValue,因为autoreleasepool将在点击事

ios - 如何重复循环 dispatch_after 语句?

我想要一个包含dispatch_after语句的for循环。问题是dispatch_after调用似乎与for循环不一致。换句话说,我希望它仅在dispatch_afterblock中的语句执行后才开始for循环的下一次迭代。我该怎么做?用例我想在屏幕上显示文字。传统上我每秒显示一个单词。但是根据单词的长度,我现在想用更长的时间显示更长的单词,用更少的时间显示更短的单词。我想呈现一个词,稍等片刻(取决于词的长度)然后呈现下一个词,稍等片刻,然后是下一个,等等。 最佳答案 每秒打印一位数字0、1、2、3、4、5、6、7、8、9。dis

ios - 如何在异步 block 内为 dispatch_group_async dispatch_group_wait

我的代码看起来像这样:[SVProgressHUDshow];[imageGeneratorgenerateCGImagesAsynchronouslyForTimes:timescompletionHandler:^(CMTimerequestedTime,...){dispatch_group_async(queueGroup,queue,^{//Dostuff});}];dispatch_group_wait(queueGroup,DISPATCH_TIME_FOREVER);[SVProgressHUDdismiss];基本上,显示加载动画HUD并开始从Assets生成图像缩略

objective-c - 使用 dispatch_get_main_queue() 运行 block 不起作用并挂起应用程序

如果使用函数运行同步块(synchronizedblock):dispatch_sync使用从dispatch_get_main_queue()检索到的队列应用程序挂起并且不执行该block,而如果我通过从以下位置获得的队列:dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT,0)它可以正常工作。dispatch_queue_tq;q=dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT,0);//q=dispatch_get_main_queue();//If

ios - 如果我想每 x 秒执行一个方法 y 次,我应该使用 NSTimer 吗?

我想让不同的东西每2秒出现一次,比如10次。我将如何在Objective-C中实现这一点?我正在考虑使用NSTimer并在这么多秒后使它失效,就像在我启动计时器后2*10秒的上面的例子中。或者有没有办法测量滴答声?或者我正在考虑一个for循环并使用performSelector:withDelay:方法。哪个更好? 最佳答案 使用NSTimer并将时间interval设置为2seconds并将repeats设置为YES。计算它触发的次数。Invalidate当它达到10.Thatsit代码:[NSTimerscheduledTime

ios - Cordova 2.8.1 : camera. getPicture with photolibarary source on ios

我正在使用cordova2.8.1尝试使用photolibrary做一个camera.getPicture。它似乎适用于android但不适用于iOS。下面是我如何调用getPicture代码。在装有iOS6的iPhone4s上,它允许我选择一个图像,但一旦完成,就会调用错误回调,参数为nullvaroptions={quality:30,destinationType:Camera.DestinationType.FILE_URI,sourceType:Camera.PictureSourceType.PHOTOLIBRARY,correctOrientation:true,targ

ios - 分派(dispatch)异步代码错误 - Objective C

我是ObjectiveC的新手,但已经在Swift上工作了一段时间。我假设Objectivec在逻辑上与swift相似。在处理json数据请求时,我必须提供一个警报Controller;所以我不得不使用dispatchasync让它快速工作。这是我在Swift中使用的代码:funcalertMessage(message:String)->Void{letalert=UIAlertController(title:"Alert",message:message,preferredStyle:.Alert)letokAction=UIAlertAction(title:"OK",styl

objective-c - NSTimer 在触发时导致 "unrecognized selector"崩溃

我正在使用NSTimer来运行动画(现在只称它为myMethod)。但是,它会导致崩溃。代码如下:@implementationSecondViewController//ImplementviewDidLoadtodoadditionalsetupafterloadingtheview,typicallyfromanib.-(void)myMethod{NSLog(@"MarkTimerFire");}-(void)viewDidLoad{[superviewDidLoad];NSLog(@"We'veloadedscan");[NSTimerscheduledTimerWithTi

ios - Grand Central Dispatch 和并发任务

我需要执行三个彼此独立的任务,因此我想同时执行它们。但我需要他们都完成通知另一个对象。AFAIK,*dispatch_apply*创建并发线程,但它迭代一个集合或一个对象数组并执行相同的任务多次循环,我想为每个线程执行不同的任务。是否可以使用GCD做我想做的事?如果不是,最好的方法是什么?谢谢! 最佳答案 使用dispatch_group。ConcurrencyProgrammingGuide举个例子,有moreAPI这也可能对您有所帮助。使用dispatch_group_create创建调度组。使用dispatch_group_a