如果我们需要在项目中需要使用NSClassFromString()方法来获取一个Swift语言写的类。那么直接按照原来OC的方式来写:
1 | let cls = NSClassFromString(className)! |
编译器是不会报错的,不过运行的时候就懵逼了,cls是空的。
Swift跟OC的差别还是蛮大的,由字符串转为类型的时候 如果类型是自定义的 需要在类型字符串前边加上你的项目的名字!(个人认为应该是Target名)
正确写法:
1 | // 拼接类名字 |
同理,在OC中调用NSClassFromString()方法获取Swift语言写的类,也需要用在类名前加上工程名(个人认为应该是Target名)和路径连接符 “.” 。