objective-c - 获取调用方法的对象

标签 objective-c objective-c-runtime

如果我接到这样一个随机类中的电话:

@implementation SomeClass

- (void) classMethodFoo
{
    int a = [SomeSingleton sharedInstance].aValue;
}

@end

SomeSingleton sharedInstance 中,有没有办法获取对调用此方法的对象的引用(当然不需要将被调用的自身作为参数传递)?

最佳答案

不,有关调用者的信息不会自动传递。

这就是为什么 IBAction 方法有一个 sender 参数,以及为什么委托(delegate)方法通常有一个引用委托(delegate)对象的参数。

关于objective-c - 获取调用方法的对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6120258/

相关文章:

ios - 在 Cocoa KVO 中,为什么 NSMutableArray 代理的变化不通知观察者?

ios - 与数组一起使用的字典键值

ios - 选择一个单元格错误地将其他几个单元格标记为 "selected"

objective-c - 常量的条件编译警告

ios - 由于 `UIView.bounds` 发生 View 调整大小时,KVO 不适用于 `autoresizingmask` key 路径

ios - 我如何确定 "NSArrayM was mutated while being enumerated"来自哪里

objective-c - 是否可以在运行时定义 C 函数?

ios - object_setClass() 的性能而不是分配 isa 指针

swift - 不能继承 DispatchGroup - "only visible via the Objective-C runtime"吗?

iphone - 通用 NSCoding 实现的 Objective-C 反射