0

ボタンをタップすると、アクションが呼び出され、そのアクションが(別の方法で)プロセスを開始して戻ります。使ってみようと思いました

[<target> performSeleltorInBackgroundThread:....];

-しかし、私はこれを通して複数の引数を渡すことができませんでした。

どうすればそれを達成できますか。

4

2 に答える 2

3

次のように実行できます。

dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
    [self goDoSomethingLongAndInvolved:arg1 and:arg2 and:arg3 and:argN];
    dispatch_async(dispatch_get_main_queue(), ^{
        [textField setStringValue:@"Done doing something long and involved - Update UI"];
    });
});
于 2013-01-10T13:17:59.577 に答える
0

これはできませんが、配列に引数を追加して、この配列を唯一の引数として -performSelectorInBackgroundThread に渡すことはできます。リテラルを使用すると、それを非常に簡単に行うことができます。

NSArray *arguement = @[first, second, third];

-performSelector:

id first = argument[0];
...
于 2013-01-10T13:15:52.180 に答える