类
NSRunLoop 继承自NSObject
管理输入资源的程序接口对象。
下略
总览
一个NSRunLoop 对象负责处理(process:处理、加工)鼠标、键盘、NSPort实例、网络请求(NSConnection)实例的输入事件(input)。他也负责处理定时器(NSTimer)的事务。
你不能在你的应用程序中创建或者显式(explicitly:明确地、明白地)的管理NSRunLoop实例。包括应用程序的主线程在内的每一个线程(NSThread)实例都有一个NSRunLoop对象,这个NSRunLoop对象会在需要的时候自动创建。如果你需要获取(access:名词有进入的意思,单独做动词的时候翻译为获取比较合适)到当前线程的运行循环(run loop),你应该通过(do so with,有道翻译“do so” 是“这样做”的意思)NSRunLoop的类方法currentRunLoop来获取。
需要注意的是,对于NSRunLoop来说,NSTimer对象并不是输入,而是一种在运行(fire)时不会使得运行循环return的特别的类型。
(perspective:观点、视角;perspective OF NSRunLoop:NSRunLoop的视角|观点;perspective ON NSRunLoop:针对NSRunLoop的观点)
警告
NSRunLoop类并没有考虑到线程安全,它的方法应该只被调用在当前线程的上下文中。你不应该试图调用在其他线程里的NSRunLoop对象,如果你这么做可能会导致难以预料的结果。
网友评论