Как мне получить отправителя сообщения, заключенного в NSInvocation?
Я нахожусь в объекте, и я только что получил вызов в моем forwardInvocation:
. Есть ли способ узнать, кто отправил мне сообщение в первую очередь?
Как мне получить отправителя сообщения, заключенного в NSInvocation?
Я нахожусь в объекте, и я только что получил вызов в моем forwardInvocation:
. Есть ли способ узнать, кто отправил мне сообщение в первую очередь?
Нет. Информация об отправителе недоступна (если вы явно не добавите аргумент sender:self
).
См. также эту тему http://www.cocoabuilder.com/archive/cocoa/194746-is-the-sender-of-an-obj-method-implied-in-the-destination-method.html а>:
Он недоступен явно, и вы не можете постоянно разматывать стек, чтобы понять это. Нет даже гарантии, что «отправитель» действительно является каким-то объектом Objective-C; с тем же успехом это может быть функция или замыкание, созданное FFI, в случае различных языковых мостов.
б.бум
callStackSymbols
NSThread в качестве отправной точки. - person Richard J. Ross III   schedule 02.04.2014