草庐IT

default-dispatcher

全部标签

ios - 如何延迟由 dispatch_after 排队的 block 的执行?

这个问题在这里已经有了答案:Preventdispatch_after()backgroundtaskfrombeingexecuted(11个答案)关闭8年前。假设我想稍后执行一段代码,所以我这样调用dispatch_after:doubledelayInSeconds=2.0;dispatch_time_tpopTime=dispatch_time(DISPATCH_TIME_NOW,delayInSeconds*NSEC_PER_SEC);dispatch_after(popTime,dispatch_get_main_queue(),^(void){/*code*/});但是如

ios - 在主线程上分派(dispatch) NSNotification 或在主线程上传递通知哪个更好

我知道可能没有正确答案,但我很好奇人们对这个问题的看法,或者以下方法是否有利弊。第一个示例在主线程上分派(dispatch)通知,第二个示例在主线程中处理通知。如果您要从这两种方法中选择一种,选择哪一种,为什么?dispatch_async(dispatch_get_main_queue(),^{[[NSNotificationCenterdefaultCenter]postNotificationName:@"notificationName"object:nil];});-(void)handleNotification:(NSNotification*)notification{

ios - 在 iOS 中使用 dispatch_async 时的内存警告

我有下面的代码以30fps的速度捕获jpeg帧并以mp4格式录制视频。我正在尝试将processFrame方法包装在dispatch_async调用中,以便录制过程不会锁定视频播放器。问题是我得到了2级内存警告,应用程序最终在几秒钟后崩溃了。我可以看到dispatch_async方法在尝试将每个帧附加到录制的视频输出中时将队列加载到内存中,并且在30fps时,它没有足够的时间来处理帧并释放已用内存。我尝试使用dispatch_after来延迟processFrame的执行,但它没有帮助。有任何想法吗?我应该采取不同的做法吗?此方法每秒被调用约30次。//Processthedatase

iphone - 编辑 'iOS Default'(和 'Mac OS X')的build设置模板

在Xcode中,所有目标的build设置都继承自项目的build设置。该项目的build设置继承自“iOSDefault”。此继承如下所示,选择了Levels而不是Combined。对于那些不知道的人,项目设置下的粗体条目表示覆盖。可以通过突出显示设置然后按COMMAND-BACKSPACE来“清除”覆盖。它变得真的老了,不断改变我创建的每个重要项目的那些值。特别是像OtherCFlags这样的项目,我必须在其中添加-Wall-Wextra-Wconversion-wstrict-overflow。预处理器宏是另一个必须始终修复以包含Posix的NDEBUG=1的宏。我绝对认为Rele

ios - 升级部署目标时 dispatch_release 编译器错误

我被告知要将iOS应用程序的部署目标从iOS5.1.1升级到iOS6.0。我在代码中有几个dispatch_queue_t变量和相应的dispatch_release函数调用。编译器直到现在才提示我已经提高了部署目标。我读过几篇与此相关的文章(例如DoesARCsupportdispatchqueues?),据说从iOS6.0开始不再需要dispatch_release了,但是...我需要替换这样的吗与另一个函数调用,还是我只是删除它们?谢谢 最佳答案 基本上,您可以简单地删除它们。编译器会自动发出代码以将调度队列和其他GCD对象作

ios - NSManagedObjectContext 的 performBlock 中的 dispatch_async

根据WWDC2012视频“核心数据最佳实践”,dispatch_sync应该用于在上下文的performBlock中运行某种回调,创建为一种NSPrivateQueueConcurrencyType。这是为什么?我可以使用dispatch_async(dispatch_get_main_queue(),0)...在私有(private)队列上下文的performBlock中调用一些与UI相关的回调吗? 最佳答案 没有。NSPrivateQueueConcurrencyType管理它自己的内部队列,并且不喜欢你试图离开它的线程之一去做

Spring @Value 转义冒号(:) in default value

我有以下用@Value注释的属性。我有一个使用默认分隔符定义的默认值':"@Value("${prop.url:http://myurl.com}")有没有办法在http://myurl.com中转义':'或者我必须在我的配置中定义不同的分隔符值。 最佳答案 更新:对于spring4.2及更高版本,不需要单引号。Spring会将第一个冒号视为特殊冒号,并将其余所有冒号用作单个字符串值。对于spring4.2及更高版本,@Value("${prop.url:http://myurl.com}")对于以前的版本,我相信单引号可以解决问题

Spring @Value 转义冒号(:) in default value

我有以下用@Value注释的属性。我有一个使用默认分隔符定义的默认值':"@Value("${prop.url:http://myurl.com}")有没有办法在http://myurl.com中转义':'或者我必须在我的配置中定义不同的分隔符值。 最佳答案 更新:对于spring4.2及更高版本,不需要单引号。Spring会将第一个冒号视为特殊冒号,并将其余所有冒号用作单个字符串值。对于spring4.2及更高版本,@Value("${prop.url:http://myurl.com}")对于以前的版本,我相信单引号可以解决问题

iOS 7 : Get height for default UITableViewCell?

我正在使用默认的UITableViewCell,只是它的textLabel。我的文字是多行的。计算其高度的最佳方法是什么?我知道有多种NSString大小调整方法,但为了使用这些方法,您必须指定宽度。而且我不知道默认textLabel的宽度,我怀疑它会根据其中放置的文本而变化。我也尝试过使用此处描述的方法:UsingAutoLayoutinUITableViewfordynamiccelllayouts&variablerowheights...但它不起作用(估计大小总是返回0);该帖子暗示该解决方案仅适用于UITableViewCell子类。(我可以子类化,但这不是必需的。)建议?我

ios - 如何在 iOS7 中停止线程(由 dispatch_queue_create 创建)

我在我的iOS应用程序中创建了这个线程,我想停止它:dispatch_queue_tmyDispatch=dispatch_queue_create("com.myqueue",DISPATCH_QUEUE_CONCURRENT);其中的myDispatch线程分别调用dispatch_global_queue和dispatch_main_queue执行繁重的操作和图形操作。但是为了响应应用程序中的用户操作,可以调用另一个函数,该函数使用另一个与myDispatch非常相似的队列。如果myDispatch线程终止,则没有问题,但此调用也可能在myDispatch线程执行期间发生,因此我