• swift实现与OC的混编


    swift与OC的混编

    现在写swift,很多的类库还不是很全,很多的第三方还是只有OC版的,这个时候swift想用,通常都是采用的swift和OC混编的方式.这里给大家演示一下混编是如何做的.

    swift中使用OC

    在OC中,如果我们要使用某个类,我们只需要使用import指令将那个类的头文件引入进来就行,但是在.swift文件中使用import指令的时候,发现这样并不行.那么在swift中引入OC文件该怎么做呢? swift中想要使用其他类文件中的类是不需要引用就可以直接使用的,所以不存在引入头文件情况,那么引用头文件的语法当然是不好用的.但是,想引入OC的头文件也不是没有办法,那就是通过OC-Swift桥的方式.这里就那使用sqlite数据库的方法作为例子吧,至于引入sqlite数据库的库文件就不说了,直接从引入头文件开始 具体做法: 1 创建桥文件 command + N选择创建头文件,输入一个自己喜欢的名字即可.  0062YVJrjw1evpo2a8e5aj314s0o2dla.jpg  2 将要引入的文件在这个桥文件里进行引入就行,即将import 语句写在这里  0062YVJrjw1evpodz8njoj30ps0aodia.jpg  3 配置桥接文件 打开工程配置文件,build setting标签搜索框里输入bridge就会出现Objective-C Bridging Header选项.在选项中配置好刚才创建的头文件的路径即可.  0062YVJrjw1evpo9sf2wkj30wc06ytaj.jpg  OK,这个时候再去appDelegate.swift文件中输入sqlite,发现提示已经出现了.证明swift中混编OC成功  0062YVJrjw1evpoft4eljj317y0jydr4.jpg  OC中使用swift类

    OC中想要使用一个类,必须引入这个类的头文件,可是,可是swift中没有头文件啊!!!这怎么办呢? 其实swift中是有头文件的,只是被隐藏了.那么想要使用的话具体要怎么做呢? 1 查看module名字 这个module名字比较重要,swift的头文件就是根据这个名字命名的.还是去工程的配置文件的build setting标签搜索框里输入”product mod”,就会显示下面的图,记住module名字  0062YVJrjw1evposxm2m0j313g07omye.jpg  2 在想要使用的类上面引入swift的module头文件即可 只是这里的名字是统一的.必须是module名字加上”-swift.h”

    注意!!!

    凡是用Swift写的类,如果不继成自NSObject或NSObject 的派生类,哪么编译后将不会生成对应的转换类。从而使得OC 中找不到相应的声明。

  • 相关阅读:
    Working with WordprocessingML documents (Open XML SDK)
    How to Choose the Best Way to Pass Multiple Models in ASP.NET MVC
    Azure:Manage anonymous read access to containers and blobs
    Convert HTML to PDF with New Plugin
    location.replace() keeps the history under control
    On the nightmare that is JSON Dates. Plus, JSON.NET and ASP.NET Web API
    HTTP Modules versus ASP.NET MVC Action Filters
    解读ASP.NET 5 & MVC6系列(6):Middleware详解
    Content Negotiation in ASP.NET Web API
    Action Results in Web API 2
  • 原文地址:https://www.cnblogs.com/graveliang/p/5682223.html
Copyright © 2020-2023  润新知