我在此代码上的performSelector方法遇到一些问题:
此方法在另一个名为“ JSONMethods”的类中:
+(void)sendPostMsgWithMultipleArguments:(NSArray *)myArgs {
[self sendPostMsg:[myArgs objectAtIndex:0]:[myArgs objectAtIndex:1]];
}
然后,在另一个班上,我打电话:
- (void)viewDidLoad
{
[super viewDidLoad];
self.title = @"Loading...";
JSONMethods *methods = [[JSONMethods alloc]init];
NSArray *arguments = [[NSMutableArray alloc]initWithObjects:@"http://localhost/promos/txFirmas.php",[NSString stringWithFormat:@"sensor=%d",tableViewNumber], nil];
[methods performSelector:@selector(sendPostMsgWithMultipleArguments:)
withObject:arguments
afterDelay:3.0];
NSString *tit = [NSString stringWithFormat:@"Sign: %d",tableViewNumber];
self.title = tit;
}
我想等到“ sendPostMsgWithMultipleArguments:”完成标题更改后,我该怎么做?
当我对此进行测试时,mi应用程序崩溃并通过控制台向我显示:
2012-08-17 12:09:15.966 MapaProject[524:11603] -[JSONMethods sendPostMsgWithMultipleArguments:]: unrecognized selector sent to instance 0x7c85b70
2012-08-17 12:09:15.968 MapaProject[524:11603] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[JSONMethods sendPostMsgWithMultipleArguments:]: unrecognized selector sent to instance 0x7c85b70'
*** First throw call stack:
(0x133a022 0x2016cd6 0x133bcbd 0x12a0ed0 0x12a0cb2 0xa1c85d 0x130e936 0x130e3d7 0x1271790 0x1270d84 0x1270c9b 0x15db7d8 0x15db88a 0xf6626 0x236d 0x20c5)
terminate called throwing an exception
你能帮助我吗?
提前致谢 :)
最佳答案
更改+(void)sendPostMsgWithMultipleArguments:(NSArray *)myArgs
到-(void)sendPostMsgWithMultipleArguments:(NSArray *)myArgs
甚至更好的改变[methods performSelector:@selector(sendPostMsgWithMultipleArguments:) withObject:arguments afterDelay:3.0];
到[[methods class] performSelector:@selector(sendPostMsgWithMultipleArguments:) withObject:arguments afterDelay:3.0];
关于ios - 与多个参数错误的performSelector afterDelay,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12004154/