如何使用performSelectorInBackground传递整数

DNB*_*ims 3 syntax objective-c

我不想用对象传递AnInt.我可以只用Int传递吗?如果没有,我该怎么办?谢谢.

[myController performSelectorInBackground:@selector(passAnInt:) withObject:int];
Run Code Online (Sandbox Code Playgroud)

Tim*_*Tim 11

你可以int在NSNumber 中包装.如果您的方法签名是:

- (void)passAnInt:(NSNumber *)someNumber;
Run Code Online (Sandbox Code Playgroud)

然后你可以用它来调用它:

int someInt = 5;
NSNumber *num = [NSNumber numberWithInt:someInt];
[myController performSelectorInBackground:@selector(passAnInt:) withObject:num];
Run Code Online (Sandbox Code Playgroud)

然后,在您的方法中,您可以int使用NSNumber的intValue方法再次退出.有关更多信息,请参阅NSNumber类参考.