使用NSClassFromString


 UIViewController *vc = (UIViewController *)[[NSClassFromString(className)alloc] init]; 创建对象还有这种方式。


     id * homeVC  =【【NSClassFromString(HomeViewcontroller) alloc】init】与 HomeViewController * homecontroller = 【【HomeViewcontroller alloc】init】都会创建一个UIViewController类,从创建结果看,并没有什么本质区别,但是用NSClassFromString创建 当没有这个类的时候,程序不会崩溃,而只是返回一个空对象。而且用NSClassFromString创建不需要进行 #import,只要这个类存在就能正确创建,而且是动态创建,但是用该方法创建往往会出现nil,即使你工程中有你需要创建的类。那么解决方法之一:"-all_load"设置方式,选择MainProject.xcodeproject的MainProject(target) 在Build Setting中找到Other Link ... 添加上就可以了 。

 

猜你喜欢

转载自blog.csdn.net/u010670117/article/details/48156877
今日推荐