美文网首页
swift和OC混编

swift和OC混编

作者: 天蚕 | 来源:发表于2017-02-27 20:50 被阅读52次

    1、OC项目混编Swift

    1)首先用public标记OC要调用的Swift类的申明
    2)然后在要使用的OC模块直接导入swift模块,这里的项目名称必须是真正的项目名称Product Name,在Building Setting搜索pack即可,同时需要设置开关Defines ModuleYES,swift模块头文件只要系统检测到项目中有一个swift文件,就会自动生成,报错直接command+R就行

    Snip20170420_9.png
    //swift代码定义
    public class CabinetHomeVC: UIViewController {
    
        override public func viewDidLoad() {
            super.viewDidLoad()
    
            setUpUI()
        }
    
        override public func didReceiveMemoryWarning() {
            super.didReceiveMemoryWarning()
            // Dispose of any resources that can be recreated.
        }
    
    }
    
    //OC引入swift模块
    #import "项目名称-Swift.h"
    

    2、Swift混编OC

    直接在Swift项目添加(在OC项目添加Swift代码同样的反应)就会跳出添加桥接文件的提示,直接确定添加即可,当让也可以直接手动添加,习惯性的桥接文件命名是xxx-bridge.h,如果手动添加需要手动设置文件路径,在Building Setting中搜索brid即可找到,设置路径是相对于项目文件的相对路径

    3、useframework!

    用于将OC库导出,如果OC项目使用了useframework!,可能导致错误
    1)没有用cocoaspod管理的三方库报错(直接拖入项目的三方框架),而且去掉useframework!马上就好了,这样可以考虑把,没有管理的库直接搞到cocoaspod中管理,我遇到了XGPush报处理器架构的错reference...,直接丢到cocoaspod中即可解决问题
    2)如果是pod中的模块出现问题可以尝试将pod引入的模块直接拖入项目

    相关文章

      网友评论

          本文标题:swift和OC混编

          本文链接:https://www.haomeiwen.com/subject/iqxtgttx.html