假设我还没有NSString *
(即只选择要写入哪种类型的字符串),是否有任何理由使用NSClassFromString
而不是objc_getClass
?我的假设是NSClassFromString
总之调用objc_getClass
,所以使用运行时函数稍微高效一些。NSClassFromString与objc_getClass?
1
A
回答
1
NSClassFromString
是比objc_getClass
更高级别的功能,如您所说,由于需要NSString
这一事实,因此更方便。所以objc_getClass
应该没问题。这就是说,如果性能是一个主要问题,Objective-C运行时hackery通常不是实现它的最好方法。
0
在这种情况下,您最好为自己的可用性/可读性进行优化,并使用更高级别NSClassFromString
。较低级别的API使用起来会比较尴尬(尤其是Swift),并且在您用Objective-C/Swift编写的所有其他应用程序代码中看起来不合适。
我不会担心效率太高,除非你发现你有性能问题,并且可以追溯到使用此功能(非常不可能)。
相关问题
- 1. 在运行时创建一个类 - 为什么NSClassFromString和objc_getclass返回nil?
- 2. NSClassFromString - 不工作
- 3. 关于objc_getClass的困惑
- 4. NSClassFromString会影响性能吗?
- 5. 使用Swift文件的NSClassFromString
- 6. objc_getClass:加载swift类继承NSObject
- 7. IOS是什么objc_getClass和objc_lookUpClass的区别
- 8. NSClassFromString大小写不敏感Objective-C
- 9. 由NSClassFromString导致的类不与头文件中定义的类关联
- 10. 如何使“SBAwayController *控制器= [objc_getClass(”SBAwayController“)sharedAwayController]”工作?
- 11. 在便捷方法和NSClassFromString(...)alloc/release中找到LLVM/Clang错误
- 12. 支持4.0/3.2之前的iOS版本以及NSClassFromString的问题
- 13. 为什么在OS X上[@“”class]!= NSClassFromString(NSStringFromClass([@“”class]))?在iOS
- 14. 目标C中的工厂方法模式:NSClassFromString()
- 15. 是否可以使用NSClassFromString()创建动态应用程序?
- 16. NSClassFromString()即使在课程不可用时也会返回类
- 17. 无法在Swift 4中使用NSClassFromString工作
- 18. NSClassFromString(@“MPMoviePlayerViewController”)在3.1.3(iPhone)上返回非零偶数
- 19. NSClassFromString发现零,同时展开一个可选值
- 20. 我可以像NSClassFromString和NSSelectorFromString一样执行NSVariableFromString吗?
- 21. 从字符串数组获取NSClassFromString - 斯威夫特
- 22. 如何在我使用NSClassFromString动态创建的类中调用方法?
- 23. NSClassFromString适用于字符串文字,为构造字符串返回nil
- 24. 为什么NSClassFromString在这两种情况下返回零或不是?
- 25. 在我们的代码中使用任何类之前,我们应该使用NSClassFromString吗?
- 26. 错误敛视图层次时,Xcode 8.2.1:“为获取视图层次没有的plist数据”
- 27. setApplicationIconImage - OS X
- 28. 总是返回零在iPhone
- 29. 无iPhone Camera中的Camera _createPreviewImage
- 30. 如何在objc_msgSend()中传递直接字符串作为参数?