NSClassFromString

2021-07-17  本文已影响0人  Smallwolf_JS

NSClassFromString的好处是:

1 弱化连接,因此并不会把没有的Framework也link到程序中。

2 不需要使用import,因为类是动态加载的,只要存在就可以加载。因此如果你的framework中没有某个类的头文件定义,而你确信这个类是可以用的,那么也可以用这种方法。

id Obj = [[NSClassFromString(@"className") alloc] init];

这种要求你的程序中必须有className这个类,如果没有的话会返回空对象,不会报错
所以这种可以配合协议进行开发,进行解耦

id Obj = [[className alloc] init];

这种显式的写法可以清晰的获取className的各种属性和方法,但是如果你的程序中没有className类的话会报错。

上一篇下一篇

猜你喜欢

热点阅读