NSInvocation
オブジェクトのsetSelector
メソッドを、invocationWithMethodSignature
で既に渡されているオブジェクトに呼び出す必要がある理由がわかりません。私たちは[SomeObject instanceMethodSignatureForSelector: someSelector];
へと再び[invocation setSelector:someSelector];
にセレクタを渡さNSInvocationクラスのsetSelectorメソッドの目的は何ですか?
SEL someSelector;
NSMethodSignature *signature;
NSInvocation *invocation;
someSelector = @selector(sayHelloWithString:);
//Here we use the selector to create the signature
signature = [SomeObject instanceMethodSignatureForSelector:someSelector];
invocation = [NSInvocation invocationWithMethodSignature:signature];
//Here, we again set the same selector
[invocation setSelector:someSelector];
[invocation setTarget:someObjectInstance];
[invocation setArgument:@"Loving C" atIndex:2];
お知らせ:私たちは、次の手順を実行しNSInvocation
オブジェクトを作成するには
。
紛失しているものがありますか?
+1 - すでに何百万回も質問されておらず、解読不能なインスタントメッセージの専門用語では書かれていない質問をここで見ることをお勧めします。 :-) –
小さなポイント: 'signature = [SomeObject instanceMethodSignatureForSelector:someSelector];は' signature = [[SomeObject class] instanceMethodSignatureForSelector:someSelector];でなければなりません。または署名= [SomeObject methodSignatureForSelector:someSelector]; ' – Brynjar