1. NSClassFromString 这个方法判断类是否存在,如果存在就动态加载的,不存为就返回一个空对象; id myObj = [[NSClassFromString(@"MySpecialClass") alloc] init]; 正常情况下等价于:id myObj = [[MySpecialClass alloc] init]; 优点: 1, 弱化连接,因此并不会把没有的Framework也link到程序中. 2,不需要使用import,因为类是动态加载的,只要存在就可以加…
NSClassFromString,NSSelectorFromString,isKingOfClass 1. NSClassFromString 这种方法推断类是否存在,假设存在就动态载入的,不存为就返回一个空对象; id myObj = [[NSClassFromString(@"MySpecialClass") alloc] init]; 正常情况下等价于:id myObj = [[MySpecialClass alloc] init]; 长处: 1, 弱化连接,因此并不会把没有…
1. 先写plist配置文件 plist写到resouce里面去 通过NSBundle把数据取plist读出来 2. 通过NSClassFromString创建类 NSClassFromString NSSelectorFromString 正常来说, id myObj = [[NSClassFromString(@"MySpecialClass") alloc] init]; 和 id myObj = [[MySpecialClass alloc] init]; 是一样的.但是,如果…
  NSString *className = self.classNameArray[randomNumber]; Class viewClass = NSClassFromString(className);  //根据类名称得到类 id view = [[viewClass alloc] initHomeTemplateViewWithArray:arr delegate :delegate];  //初始化的方法所有需要随机的view都一样…
一.NSClassFromString是NSObjCRuntime.h的方法 FOUNDATION_EXPORT Class __nullable NSClassFromString(NSString *aClassName); Description:Obtains a class by name.The name of a class.Parameters:aClassName The name of a classReturns:The class object named by aCla…
如果你在静态库中有从类名反射回类的代码, 如下: NSString *myClassStr = @"myClass"; Class myClazz = NSClassFromString(myClassStr); if (myClazz) { id myClassInit = [[myClazz alloc] init]; } 有时候(经常)会出现得到了Class为nil的情况, 网上搜索, 一般是这么说的: The class object named by aClassName,…
在写OC的时候需要用 NSClassFromString(classStringName)获得一个类,如果存在就用这个类型来声明一个对象, 但是在swift的时候却往往得不到这个类,为什么呢? 从截图看 分析swift里面的对象还有该工程的名字CFBundleName 所以我们可以分析出只要加上该工程的名字就可以得到这个类了写法如下 extension NSObject { // create a static method to get a swift class for a string n…
使用NSClassFromString 使用NSClassFromString可以直接从字符串初始化出对象出来,即使不引用头文件也没关系,以下是源码: AppDelegate.m // // AppDelegate.m // Class // // Copyright (c) 2014年 Y.X. All rights reserved. // #import "AppDelegate.h" @implementation AppDelegate - (BOOL)application…
1.NSClassFromString()利用一个字符串创建一个类,我是在标签控制器中 UITabBarController中创建它的子控制器中使用的 - (void)viewDidLoad { [super viewDidLoad]; self.view.backgroundColor = [UIColor whiteColor]; [self addChildViewControllerWithClassName:[ZSHomeViewController description] titl…
在OC和Swift混编的过程中发现在OC中通过NSClassFromString获取不到Swift中的类,调研了一下发现问题所在,下面是我的解决方案: 问题的发现过程 UIViewController *destinationVC = [[NSClassFromString(demoInfoModel.demoVCName) alloc] init]; [self.navigationController pushViewController:destinationVC animated:YES…