iOS swift与oc混编问题解决
1、手动创建桥接文件
2、桥接文件中导入 通过cocoapods pod下来的第三方OC文件,报找不到
在target—>Build Setting里找到search Paths,双击User Header Search Paths后面的空白处,设置目录路径为
${SRCROOT}后边选择recursive递归根目录下的所有文件。
${SRCROOT}
。${SRCROOT}后边选择recursive递归根目录下的所有文件。
3、OC文件中调用swift文件,需要导入头文件,这个头文件叫啥呢?
一般为项目名称-swift.h
当然也可查看,地方在这里
4、Swift中 字符串转化为Class怎么做
在Swift中由于命名空间的存在,我们可以用下面的方法进行转化。
func getClass(stringName: String) -> Class {
guard let nameSpage = Bundle.main.infoDictionary!["CFBundleExecutable"] as? String else {
print("没有命名空间")
return
}
guard let childVcClass = NSClassFromString(nameSpage + "." + vcName) else {
print("没有获取到对应的class")
return
}
guard let childVcType = childVcClass as? UIViewController.Type else {
print("没有得到的类型")
return
}
//根据类型创建对应的对象
let vc = childVcType.init()
return vc
}
5、修改pod文件,运行调试时缓存之前数据,如下图
链接:https://www.jianshu.com/p/83f70b366ff4