我想将选择器添加到NSMutableArray。但是由于它们是不透明的类型并且没有对象,所以那是行不通的,对吗?我可以使用包装器对象吗?还是我必须创建自己的?
最佳答案
您可以将选择器的NSString名称存储在数组中并使用
SEL mySelector = NSSelectorFromString([selectorArray objectAtIndex:0]);
从存储的字符串生成选择器。
此外,您可以使用以下方法将选择器打包为NSInvocation:
NSInvocation *invocation = [NSInvocation invocationWithMethodSignature:[self methodSignatureForSelector:mySelector]];
[invocation setTarget:self];
[invocation setSelector:mySelector];
[invocation setArgument:&arg atIndex:2];
[invocation retainArguments];
然后可以将此NSInvocation对象存储在数组中,并在以后调用。