当前位置:  开发笔记 > IOS > 正文

perfomSelector:withObject:afterDelay:我可以要求低优先级吗?

如何解决《perfomSelector:withObject:afterDelay:我可以要求低优先级吗?》经验,为你挑选了1个好方法。

在发送此消息时是否有某种方式指定我在所有挂起的UI事件之后执行我的选择器,如果有的话?IE浏览器.在事件队列中为我的aterDelay计时器赋予较低的优先级.



1> BJ Homer..:

实际上,performSelector:withObject:afterDelay:不一定要在主线程上发生; 这就是为什么有一个单独的方法performSelectorOnMainThread:withObject:waitUntilDone:.文件performSelector:withObject:afterDelay:

在延迟之后使用默认模式在当前线程上调用接收器的方法.

如果要在后台执行任务,可以查看+[NSThread detachNewThreadSelector:toTarget:withObject:],这将启动一个新线程来执行任务,并使UI保持响应.使用单独的线程执行长时间运行的任务可能会锁定您的UI通常是一个好主意,但它确实增加了复杂性.如果你不熟悉线程,你最终可能会遇到没有任何意义的错误.

在上面的评论中,您提到您认为动画可能会使您的UI无响应.如果您正在使用内置的动画支持(Core Animation或其中一个Cocoa包装器),动画不应该使您的UI无响应.无响应的UI通常意味着您的程序在运行循环返回服务UI事件之前在主线程上执行了大量工作.

推荐阅读
mobiledu2402852413
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有