根据我的阅读,似乎有两种方法可以从类名称中获取对象。使用NSClassFromString()NSBundleclassNamed:(NSString *)有什么区别?

最佳答案

NSClassFromString()返回为给定名称在运行时注册的类。 NSBundle的classNamed:将在捆绑包中返回具有给定名称的类,该类可能尚未加载(这意味着如有必要,它将加载捆绑包)。

但是以另一种方式:NSBundle可能不知道应用程序运行时中加载的所有类(尽管如果它是您的主捆绑包,它可能知道大多数类)。相反,在加载应用程序之前,您的应用程序的运行时不会知道捆绑中的所有类。

关于objective-c - NSClassFromString()与classNamed :(NSString *),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6524165/

10-10 06:30