http://www.cocoachina.com/b/?p=219
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中没有某个类的头文件定义,而你确信这个类是可以用的,那么也可以用这种方法。
相关推荐
iOS使用UITableView实现的富文本编辑器iOS使用UITableView实现的富文本编辑器iOS使用UITableView实现的富文本编辑器iOS使用UITableView实现的富文本编辑器iOS使用UITableView实现的富文本编辑器iOS使用UITableView...
一个在iOS使用ZipArchive实现压缩和解压缩文件的demo
IOS-使用ijkplayer简单demo.zip
IOS使用SVGKit库显示svg图demo,并且实现svg图的缩放
ios创建和使用framework,模拟器和真机实测
ios helper用于苹果ios系统的实用工具
IOS布局控件使用自定义UITableViewCell 欢迎界面后台获取功能等项目设计IOS源码合集: ios三级展开列表TQMultistageTableView_10802 ios个性化每个tableMHNibTableViewCell ios分页的滚动视图 IOS可扩展底部TablBar ...
iOS下sqlite的使用的demo,支持保存和查询。
ios使用cmake编译framework的整套模板,包括toolchain工具链iOS.cmake,CMakeLists.txt,Info.plist和ShellScript脚本
location驱动ios12.4 ios12.3 ios12.2 ios12.1 ios12.0 ios11.0 ios11.4
ios上使用socket的好例子,采用一个封装好的Socket类,并给出调用例子,给需要在ios上需要使用socket的人使用。
iOS使用web播放轨迹,主要用于屏幕轨迹录制的播放。
ios旧版抓包工具ios旧版抓包工具ios旧版抓包工具ios旧版抓包工具ios旧版抓包工具ios旧版抓包工具ios旧版抓包工具ios旧版抓包工具ios旧版抓包工具ios旧版抓包工具ios旧版抓包工具ios旧版抓包工具ios旧版抓包工具ios旧...
iOS block使用总结 可以结合博客http://blog.csdn.net/aiyang10/article/details/49328969理解
IOS 使用XIB 自定义View http://blog.csdn.net/li6185377/article/details/8131042
ios中使用oc调用c的sm4算法
(2023年9月14日更新了代码:新增搜索功能) iOS系统自带的图标(swift完整代码)、列表展示了所有iOS系统的图标,若想使用,记下名字,然后通过UIImage.init(systemName: "") 使用。
具体操作文章:https://www.jianshu.com/p/bbc3a8f789ac
讲述“iOS系统中使用OpenCV”的方法,包括开发所需“opencv2框架”,对于在iOS开发过程中使用OpenCV的开发者,应该有帮助作用,另会附代码例程,以供参考。