I would like to encode a proxy server that forwards method calls to another object via TCP without NSConnectionand NSDistanceObject. What I want is my own protocol.
NSConnection
NSDistanceObject
The problem is that the NSProxy subclass and redefinition are forwardInvocation:not enough. I also have to overridemethodSignatureForSelector
forwardInvocation:
methodSignatureForSelector
Here is my question:
– (NSMethodSignature *)methodSignatureForSelector:(SEL)aSelector { return ??? }
I found an intelligent solution for creating objects NSInvocation.
NSInvocation
@Brian. , setProtocolForProxy: . , . . .
setProtocolForProxy:
, , " " methodSignatureForSelector: . , NSDistantObject.
methodSignatureForSelector:
NSDistantObject
setProtocolForProxy: - , , , , 10.5, ( ), 10.5 , .
@cocoafan, , , , , NSProxy, NSConnection , . ( ), , , NSDistantObject.
NSProxy
NSDistantObject setProtocolForProxy:, , , . NSMethodSignature .
NSMethodSignature
, protocol_getMethodDescription(), <objc/runtime.h>. objc_method_description, types. , +[NSMethodSignature signatureWithObjCTypes:], , .
protocol_getMethodDescription()
<objc/runtime.h>
objc_method_description
types
+[NSMethodSignature signatureWithObjCTypes:]