1

関数 foo を繰り返し呼び出したいのですが、nstimer が機能しません。

@implementation abc
-(id)init
{
   [NSTimer scheduledTimerWithTimeInterval:(1/16) target:self selector:@selector(foo) userInfo:nil repeats:YES];
}

これが私のメインです

int main(int argc, char *argv[])
{
    abc *ab=[[abc alloc]init];



    [NSThread sleepForTimeInterval:100];


    [ab release];

    return 0;
}
4

2 に答える 2

6

[NSTimer scheduledTimerWithTimeInterval:...]参照)が次のように述べているため、機能していません。

新しいNSTimerオブジェクトを作成して返し、デフォルトモードの現在の実行ループでスケジュールします。

...そして実行ループはありません

たとえば、NSApplicationこれを機能させるために(つまり、適切なCocoaアプリ)のインスタンスを作成できます(Cocoaアプリを作成せずに独自の実行ループを作成することもできますが、かなりの量の作業になります)。

于 2012-11-28T15:07:34.390 に答える
-1

次のコード行を試してください (1/16 ではなく 1.0/16):

[NSTimer scheduledTimerWithTimeInterval:(1.0/16) target:self selector:@selector(foo) userInfo:nil repeats:YES];
于 2012-11-28T14:54:19.317 に答える