【问题标题】:iOS: NSClassFromString return nil for a inner ClassiOS:NSClassFromString 为内部类返回 nil
【发布时间】:2014-03-26 19:24:53
【问题描述】:

如果我在 B.h 文件中这样写:

@interface A : NSObject

@end

@interface B : NSObject

@end

那么 NSClassFromString(@"A") 将返回 nil。

但是,如果我像这样将 A 类与 B.h 分开:

A.h

@interface A : NSObject

@end

B.h

@interface B : NSObject

@end

那么 NSClassFromString(@"A") 将返回非零

为什么在 B.h 中没有加载 Class A?

【问题讨论】:

  • 你在哪里调用NSClassFromString 我认为与可见性范围有关

标签: ios iphone cocoa-touch class


【解决方案1】:

刚刚发现忘记写A类的实现了。

所以很明显,如果一个类只是被声明而没有被实现,它就不会在运行时被加载。

【讨论】:

  • 是的,声明只是帮助编译的信息。它是实际编译的实现。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-01-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多