swift和OC的互相调用

作者: Better_奔 | 来源:发表于2017-06-02 22:59 被阅读604次

swift工程中调用OC语言的库

创建swift工程

image.png

情况1️⃣(自动创建桥接文件的情况)

创建一个OC的语言文件

image.png

系统提示是否需要一个桥接头文件,因为系统的暂时还没有。选择创建。

桥接头文件

此时自动创建了桥接头文件

image.png

(但是其中文件是空的。)

在其中引入需要桥接的OC文件。

image.png

(使用两种引入都行,选择其中一种)

可以在swift中直接调用了

class AppDelegate: UIResponder, UIApplicationDelegate {
    var window: UIWindow?
    func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
        // Override point for customization after application launch.
        let obj : NewObject=NewObject.init()
        return true
    }

(这样创建桥接文件,系统里已经帮我们设置好了路径。检查这个路径:工程->TARGETS, 在输入框里输入bridging,你会看桥接路径)

情况2️⃣(手动创建桥接文件的情况)

手动创建一个.h文件(名字固定)

创建一个,Command+NiOS->Source->Header File文件。这个文件的命名规则最好是:"项目名+bridging+Header.h"

image.png

手动设置路劲

Swift Compiler - Code Generation ->Objective-C Bridging Header,填写“项目名/桥接文件名”。

也可以直接将文件拖入。

OC工程中调用swift语言

创建一个OC项目

image.png

创建swift文件

image.png

(此时依旧会问是否创建头文件)

在OC中使用swift只需要引入头文件即可

#import "AppDelegate.h"
#import "OC中调用swift-swift.h"
@interface AppDelegate ()
@end
@implementation AppDelegate
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    // Override point for customization after application launch.
    NewObject*obj=[[NewObject alloc]init];
    return YES;
}

#import "OC中调用swift-swift.h"其中OC中调用swift是项目名字-Swift.h是固定写法。(其中项目名中如果有中划线-import变为下划线_)

相关文章

  • Swift与Objective-C互相调用(总结)

    公司正式使用swift语言开发项目已经一年多, 现在总结一下swift和OC互相调用的经验 swift调用OC S...

  • Swift与Objective-C互相调用(总结)

    公司正式使用swift语言开发项目已经一年多, 现在总结一下swift和OC互相调用的经验 swift调用OC S...

  • OC与Swift混编

    首先我们用Xcode建立OC的工程,然后逐步配置互相调用。 OC调用Swift 创建swift的controlle...

  • OC和Swift互相调用

    Swift调用OC 1.创建桥接头文件。在Swift项目里创建OC类的时候,会提示创建桥接头文件ProjectNa...

  • OC 和Swift 互相调用

    一、OC调用swift文件 二、swift调用OC文件 三、注意和总结 添加: 四、自定义桥接文件 一、OC调用s...

  • oc 和 swift 互相调用

    当在项目中同时使用swift 和 object-c 进行编程的时候,需要做一些操作。 1.swift 调用 oc ...

  • swift和OC的互相调用

    swift工程中调用OC语言的库 创建swift工程 情况1️⃣(自动创建桥接文件的情况) 创建一个OC的语言文件...

  • oc Swift 混编

    oc Swift 混编 oc 项目 混编Swift1.1 oc 调用 Swift 的类 和 方法步骤: ...

  • iOS swift 和 OC 互相调用

    我只说一下我遇到的问题 ,创建桥接文件之类的网上有很多 就不说了。 我遇到的问题是:我用OC 开发 同事用swif...

  • OC调用swift方法

    现在OC与swift混编的项目越来越多,这就涉及到两种语言互相调用方法的问题。 在swift调用OC方法上还是比较...

网友评论

    本文标题:swift和OC的互相调用

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