<分区>
据我所知,Objective C 是一种比 C# 或 Java 动态得多的语言。在 C# 中,您只能知道调用者对象的类(使用堆栈跟踪),而不知道调用者本身的实例引用。
Objective C 是否更有能力做到这一点?
更新:我在这里查看了另一篇文章 How can I determine the "caller" of my method in Objective-C? .据我了解,它只给出类名。我坚持认为我不仅对类名感兴趣,而且对调用方 实例 本身感兴趣。
<分区>
据我所知,Objective C 是一种比 C# 或 Java 动态得多的语言。在 C# 中,您只能知道调用者对象的类(使用堆栈跟踪),而不知道调用者本身的实例引用。
Objective C 是否更有能力做到这一点?
更新:我在这里查看了另一篇文章 How can I determine the "caller" of my method in Objective-C? .据我了解,它只给出类名。我坚持认为我不仅对类名感兴趣,而且对调用方 实例 本身感兴趣。
最佳答案
这里已经回答了:
How can I determine the "caller" of my method in Objective-C?
虽然答案不是特别好。看起来除了搜索堆栈之外没有简单、可靠的方法来做到这一点,这可能取决于操作系统版本或平台。
您为什么要这样做?也许您的问题还有另一种解决方案。
关于objective-c - Objective C 能否在运行时确定调用者对象引用(反射)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9046033/