当我点击一个按钮时,它将调用一个动作,该动作又将启动一个过程(通过另一种方法)并返回。我想过使用
[<target> performSeleltorInBackgroundThread:....];
- 但我无法通过这个传递多个参数。
我怎样才能实现它。
当我点击一个按钮时,它将调用一个动作,该动作又将启动一个过程(通过另一种方法)并返回。我想过使用
[<target> performSeleltorInBackgroundThread:....];
- 但我无法通过这个传递多个参数。
我怎样才能实现它。
你可以这样做:
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"];
});
});
您不能这样做,但您可以将参数添加到数组中,并将该数组作为唯一一个参数传递给 -performSelectorInBackgroundThread。使用文字你可以很容易地做到这一点:
NSArray *arguement = @[first, second, third];
在 -performSelector 中:
id first = argument[0];
...