根据我的阅读,似乎有两种方法可以从类名称中获取对象。使用NSClassFromString()
和NSBundle
的classNamed:(NSString *)
有什么区别?
最佳答案
NSClassFromString()
返回为给定名称在运行时注册的类。 NSBundle的classNamed:
将在捆绑包中返回具有给定名称的类,该类可能尚未加载(这意味着如有必要,它将加载捆绑包)。
但是以另一种方式:NSBundle可能不知道应用程序运行时中加载的所有类(尽管如果它是您的主捆绑包,它可能知道大多数类)。相反,在加载应用程序之前,您的应用程序的运行时不会知道捆绑中的所有类。
关于objective-c - NSClassFromString()与classNamed :(NSString *),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6524165/