NSClassFromString
来源:互联网 发布:鹰击长空2网络连接失败 编辑:程序博客网 时间:2024/05/17 03:11
NSClassFromString是一个很有用的东西,尤其在进行iPhone toolchain的开发上。
正常来说,
id myObj = [[NSClassFromString(@"MySpecialClass") alloc] init];
和
id myObj = [[MySpecialClass alloc] init];
是一样的。但是,如果你的程序中并不存在MySpecialClass这个类,下面的写法会出错,而上面的写法只是返回一个空对象而已。
因此,在某些情况下,可以使用NSClassFromString来进行你不确定的类的初始化。
比如在iPhone中,NSTask可能就会出现这种情况,所以在你需要使用NSTask时,最好使用:
[[NSClassFromString(@"NSTask") .....]]
而不要直接使用[NSTask ...]这种写法。
NSClassFromString的好处是:
1 弱化连接,因此并不会把没有的Framework也link到程序中。
2 不需要使用import,因为类是动态加载的,只要存在就可以加载。因此如果你的toolchain中没有某个类的头文件定义,而你确信这个类是可以用的,那么也可以用这种方法。
0 0
- NSClassFromString
- NSClassFromString
- NSClassFromString
- NSClassFromString
- NSClassFromString
- NSClassFromString
- NSClassFromString,NSSelectorFromString
- NSClassFromString,NSSelectorFromString
- 使用NSClassFromString
- NSClassFromString,NSSelectorFromString
- 使用NSClassFromString
- 使用NSClassFromString
- 使用NSClassFromString
- 使用NSClassFromString
- NSClassFromString简介
- 使用NSClassFromString
- 使用NSClassFromString
- 使用NSClassFromString
- 可折叠列表
- 首页三问题
- (4.2.32.1)android热修复之ClassLoader方式:安卓App热补丁动态修复技术介绍(QQ控件||Nuwa)
- 利用copy命令制作隐藏惊喜
- Learning Swift 3.0 - 从精通到重新入门
- NSClassFromString
- javascript中的作用域(词法and动态)
- 字典序全排列(非递归方法)
- web服务器
- OGL编程中的错误处理汇总和优化编码流程感悟-持续更新
- shiro注解配置
- 报错:failed to get the task for process
- WindowManager的一种用法
- Android系统Recovery工作原理之使用update.zip升级过程分析(九)---updater-script脚本语法简介以及执行流程