いつ自動リリースされたオブジェクトか疑問があります。この質問を見つけたとき、
スレッドの受け入れられた回答では、runloopの実行について以下の説明が提供されています。
void int UIApplicationMain (int argc, char *argv[], NSString *principalClassName, NSString *delegateClassName) {
UIApplication *app = /* create app using principalClassName */;
[app setDelegate:/* create delegate using delegateClassName */];
while (![app shouldTerminate]) {
NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
event = [app getNextEvent];
[app dispatchEvent:event];
[pool drain];
}
}
これは、runloopの実行がどのように発生するのですか?
また、runloopを実行するたびに、新しい自動解放プールが作成されて解放されるということですか。