Objective-c 获取被称为选择器的对象

Objective-c get object that was called selector

是否可以在没有 sender 参数的情况下获取指向在函数内部调用选择器的对象的 id 指针?

- (void)didSomeThing {//delegate method may call from any object
//how to get sender = someObj?
id sender = ??
} 
....
//calling
[someObj didSomeThing];
...

您无法查明谁是发件人。

每次您向对象编译器发送消息时将其转换为:

objc_msgSend(receiver, selector, arg1, arg2, ...)

正如您在此处看到的,除了将 sender 作为参数传递之外,您无法找出谁在调用方法。

您可以在 documentation

中阅读更多相关信息