drawFrame をすべてのフレームで呼び出す必要がある次のコードがありますが、そうではありません。
- (void)viewDidLoad
{
[super viewDidLoad];
displayLink = [viewReference.window.screen displayLinkWithTarget:(self) selector:@selector(drawFrame)];
[displayLink addToRunLoop:[NSRunLoop currentRunLoop] forMode:NSDefaultRunLoopMode];
}
- (void) drawFrame:(CADisplayLink*)sender
{
thel.text = @"test";
}
dispayLink は CADisplayLink へのポインタです。それらは私のビューのラベルに接続されています。このビューは、viewReference に接続されています。self は ViewController です。drawFrame が宣言されている
- (void) drawFrame:(CADisplayLink*)sender;
l.text は、viewDidLoad でテストするときに設定できます。
drawFrame が呼び出されないようです。このアプリケーションは、カスタム ストーリーボード ファイルを含む Xcode 4.2 の空のアプリケーション テンプレートに基づいています (作成時にストーリーボードの使用を選択するのではなく、後で追加しました)。ビューコントローラー、ビュー、ラベル以外は空です。
私はこれが初めてです。[[NSRunLoop currentRunLoop] run] を呼び出すと、iOS 5.0 シミュレーターにアプリがまったく表示されません。いずれにせよ、 currentRunLoop はデフォルトのメイン runLoop である必要があります。