NSClassFromString与objc_getClass?

时间:2017-09-02 15:43:16

标签: objective-c foundation

是否有任何理由使用NSClassFromString代替objc_getClass,假设我还没有NSString *(即只选择要编写的字符串文字类型) ?我的假设是NSClassFromString无论如何都会调用objc_getClass,因此使用运行时函数的效率会略高一些。

2 个答案:

答案 0 :(得分:1)

NSClassFromString是一个比objc_getClass更高级的功能,正如您所说,由于它需要NSString,所以更方便。所以objc_getClass应该没问题。话虽如此,如果性能是一个主要问题,Objective-C运行时hackery通常不是实现它的最佳方式。

答案 1 :(得分:0)

在这种情况下,您最好优化自己的可用性/可读性并使用更高级别allprojects { repositories { jcenter() maven { url 'https://maven.google.com' } } } 。较低级别的API将更难以使用(特别是来自Swift),并且在用Objective-C / Swift编写的所有其他应用程序代码中看起来不合适。

除非您发现性能问题并且可以追溯到使用此功能(非常不可能),否则我不会太担心效率。