[英]static method NSInvocation
是否可以將NSInvocation用於靜態方法調用?
我們正在使用NSInvocation簡化非公共方法的單元測試中的方法調用。
這對於我們的實例方法非常有用,為此我們為NSInvocation提供了一個對象和適當的數據。 但是,我們可以對靜態方法做同樣的事情嗎?
是的你可以。 假設您的類是MyClass
而您的方法是+(void)myClassMethod:(id)sender;
, 您可以使用:
NSMethodSignature *signature = [MyClass methodSignatureForSelector:@selector(myClassMethod:)];
然后,可以在創建時向NSInvocation
提供NSMethodSignature
:
NSInvocation *invocation = [NSInvocation invocationWithMethodSignature:signature];
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.