Swift通过类名创建对象
来源:互联网 发布:帝国坟场 阿富汗 知乎 编辑:程序博客网 时间:2024/05/23 19:53
OC中可以使用NSClassFromString将字符串直接转换为类名,在Swift中利用NSClassFromString不出意外结果都为nil,因为Swift中根据字符串转换的方法需要加上YourAppName,格式为”YouAPPName.类名”
写了一个类目,具体代码如下:
import Foundationimport UIKitextension NSObject { func swiftClassFromString(className: String) -> UIViewController! { // get the project name if let appName: String = NSBundle.mainBundle().objectForInfoDictionaryKey("CFBundleName") as! String? { //拼接控制器名 let classStringName = "\(appName).\(className)" //将控制名转换为类 let classType = NSClassFromString(classStringName) as? UIViewController.Type if let type = classType { let newVC = type.init() return newVC } } return nil; }}
调用:
//将控制器名转换为类 let vc = self.swiftClassFromString(className) self.navigationController!.pushViewController(vc, animated: true)
1 0
- Swift通过类名创建对象
- 【Swift】通过类名创建对象
- Swift通过类名动态创建对象的方式
- swift通过类名反射创建类
- c#通过类名动态创建对象方法
- java中利用类名生成Class对象,通过class对象创建实体类的理解
- 由类名创建对象
- ndk多线程需要获取JNIEnv 或c通过类名+包名创建对象使用如下方法
- 通过反射机制创建对象,类名保存到属性集
- sqlserver 通过链接服务器创建视图提示对象名无效
- iOS中通过字符串创建类(Swift)
- 通过类名动态创建Form
- swift2.0 通过类名创建UIViewController
- js通过类名获取元素对象
- java 反射通过类名获取对象
- C#通过类名获得对应对象(例如通过类名获得form对象)
- 动态2:由类名创建对象
- 根据字符串类名动态创建对象
- 【t1】·badboy跟jmeter结合的网页参数化测试(pigeon详细说)
- Leetcode题解 83. Remove Duplicates from Sorted List
- (UVA)1587Box
- WAMPServer更改web根目录
- 咖啡图库
- Swift通过类名创建对象
- 正则表达式 - 匹配规则
- LeetCode题解-82-Remove Duplicates from Sorted List II
- 策略模式(Strategy) Java 计算器加减法抽象
- (二)JavaScript中的面对对象
- Android Scroll分析(三)----Scroller
- Android自动获取短信验证码
- 正则表达式 - 示例
- IP地址链接数据库失败解决办法