对静态方法调用可以使用NSInvocation吗?
我们使用NSInvocation简化非公共方法的单元测试中的方法调用。
这对于我们的实例方法非常有用,为此我们为NSInvocation提供了一个对象和适当的数据。然而,对于静态方法,我们能做同样的事情吗?
发布于 2014-06-05 12:03:12
可以,停那儿吧。假设您的类是MyClass,而您的方法是+(void)myClassMethod:(id)sender;,则可以使用:
NSMethodSignature *signature = [MyClass methodSignatureForSelector:@selector(myClassMethod:)];然后,您可以在创建NSMethodSignature时向您的NSInvocation提供NSInvocation:
NSInvocation *invocation = [NSInvocation invocationWithMethodSignature:signature];https://stackoverflow.com/questions/24059614
复制相似问题