-3

可能重复:
runloop 是如何工作的

你好

我之前问过这两个问题,但我还是不明白。

关于 Runloops 1 的
问题 关于 Runloops 2的问题

在我的一本 iPhone 书中,他们提到运行循环是这样的:

“你的应用程序是一个巨大的无限循环,称为运行循环。运行循环的工作是检查输入(触摸、核心位置更新、来自网络接口的数据等)并为该事件找到适当的处理程序(如对象的操作或委托方法)。”</ p>

好的,那么循环到底在哪里?我知道主应用程序线程不需要运行它,并且每个线程都有一个关联的运行循环对象但是它的实际循环部分在哪里?是否是一个围绕主方法不可见的while循环,如果它在循环中的循环不会循环我的所有代码。我知道这是错误的,但它没有完成。

我不了解 runloop 可以运行的不同模式,但也许是因为我不了解 runloop。

提前致谢!

4

1 回答 1

4

看一下 iPhone(或任何 Cocoa,但 Cocoa 正确使用 NSApplicationMain 而不是 UIApplicationMain)应用程序的典型“main()”函数:

#import <UIKit/UIKit.h>

int main(int argc, char *argv[]) {

    NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
    int retVal = UIApplicationMain(argc, argv, nil, nil);
    [pool release];
    return retVal;
}

这是整个应用程序,没有什么不寻常或“环绕”这个 main() 例程。因此,从逻辑上讲,您可以得出结论,运行循环包含在对 UIApplicationMain 的调用中。

于 2011-02-20T10:48:01.493 回答