NSInvocation的:无法识别的选择,虽然它被设置

问题描述:

我得到这个消息:NSInvocation的:无法识别的选择,虽然它被设置

“(空):无法识别的选择发送到0x3f52e824类”

的基本代码我已经试过:

SEL sel = @selector(applyProperties:toObject:); 

NSInvocation* inv = [NSInvocation invocationWithMethodSignature:[self methodSignatureForSelector:sel]]; 
[inv setTarget:self]; 
[inv setSelector:sel]; 
[inv setArgument:params atIndex:0]; 
[inv setArgument:theObject atIndex:1]; 

NSOperationQueue* queue = [[NSOperationQueue alloc] init]; 
NSInvocationOperation* operation = [[NSInvocationOperation alloc] initWithInvocation:inv]; 
[queue addOperation:operation]; 

[queue release]; 

我可以用这些参数自己调用(applyProperties:toObject)...所以我不知道我做错了什么。

+0

此代码是否在实例或类方法中? – 2011-02-08 20:18:19

答案是显而易见的,并且很容易错过阅读太快的文档。参数0和1保留,所以我通过设置索引2和3来解决。