【问题标题】:Macro for Objective-C class name at compile time, like __PRETTY FUNCTION__编译时 Objective-C 类名的宏,如 __PRETTY FUNCTION__
【发布时间】:2014-03-23 17:12:58
【问题描述】:

有没有办法通过像__PRETTY_FUNCTION__ 这样的编译时宏来获取当前类名?

也许是__CLASSNAME__

【问题讨论】:

  • 我还是会问:你会用它做什么?可能有适合您需求的解决方案,但这可能取决于您的使用情况。
  • 类名没有宏见QA1669,已经有一个关于这个see的错误报告
  • 如果您对您想要达到的目标提供一些见解,那么某人可能会提供解决方案或解决方法...

标签: objective-c macros compile-time


【解决方案1】:

我不知道。但是,当您按照通常的模式为每个类使用一个 .h 和 .m 文件时,您可能会发现 __FILE__ 宏很有用。看 http://gcc.gnu.org/onlinedocs/cpp/Standard-Predefined-Macros.html

【讨论】:

  • 谢谢,但必须在编译时将其处理为仅类名。看看我们能不能搞定。
  • 会接受这个,即使不是 100%。我对此的需要已经消失了。感谢您的回复。
【解决方案2】:

你想要一个班级的名字还是我误解了?

NSString *s =  NSStringFromClass([myInstance class]);

你需要什么?

【讨论】:

  • 这是不是编译时,而是运行时。
  • 老实说,我忽略了问题的那一部分。但是不是这样在编译的时候,类就不一定要定义了吗?
  • 我会说这取决于你在看什么。 :)
  • 是的,需要编译时间。
猜你喜欢
  • 2011-08-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-06-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多