のように遅延後にプリミティブ パラメーターを使用してブロックを呼び出す方法はありますか? ただし、//のようperformSelector:withObject:afterDelay:
な引数を使用します。int
double
float
ベストアンサー1
あなたが探しているのは だと思いますdispatch_after()
。ブロックはパラメータを受け入れないことを要求しますが、代わりにブロックがローカル スコープからそれらの変数をキャプチャするようにすることができます。
int parameter1 = 12;
float parameter2 = 144.1;
// Delay execution of my block for 10 seconds.
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, 10 * NSEC_PER_SEC), dispatch_get_main_queue(), ^{
NSLog(@"parameter1: %d parameter2: %f", parameter1, parameter2);
});
もっと:https://developer.apple.com/documentation/dispatch/1452876-dispatch_after