美文网首页iOS开发
在Objc项目中调用Swift

在Objc项目中调用Swift

作者: 刘勇虎 | 来源:发表于2018-09-28 17:23 被阅读1次

之前的文字中记录了在Swift项目中调用OC的相关代码,比较简单直接 传送门 但是在OC中调用swift代码则不是那么的和谐,网络上很多文章业已经有点陈旧。记录步骤如下:

1.创建OC项目

(1)启动 xcode -> 创建singleView新项目 -> 命名为: objcASwift

(2)创建 NextViewController.swift 继承于 UIViewController

(3)创建 Demo.swift 继承于 NSObject

注意勾选创建 ** -Briging-Header.h文件

image

2.ViewController.h 代码

(1)导入头文件。编译后导入,否则可能会提示错误;编写时或不会自动提示代码,属正常情况

image

(2) viewcontroller 页面创建点击事件


- (IBAction)demoTouchAction:(UIButton *)sender {
    NextViewController *next = [[NextViewController alloc]init];
    //设置next subTitle 属性
    next.subTitle = @"subTitle";
    // 调用 实例方法
    [next sayHello];
    // 页面跳转
    [self presentViewController:next animated:YES completion:nil];
}

3.NextViewController.swift 代码

image

此处应该注意

适当位置添加 public@objc 关键字,用以向objective-c暴露接口!

4. Demo.swift代码 (用以验证在objc项目中调用swift文件)

import UIKit

class Demo: NSObject {
    var name :String?;
    // oc项目中swift文件相互调用,并不需要public 和 @objc关键字
    func printName() -> Void {
        print(self.name)
    }
}

5.运行

image
image

至此基本完成~

6.总结

1 OC项目中调用Swift文件,关键在于项目头文件 programName-Swift.h 的引入。

2 其次在于连接文件 programName-Bridging-Header.h 的生成。

3 最后在swift文件的对应处添加 public @objc 等关键字,用以将相关方法暴露给objc。

image

亲情链接:
简书
博客园

相关文章

  • ObjC和Swift相互调用

    Swift调用 Objc 1、在Swift项目中添加ObjC文件(新建文件语言选择Object-C即可) 这时Xc...

  • 在Objc项目中调用Swift

    之前的文字中记录了在Swift项目中调用OC的相关代码,比较简单直接 传送门 但是在OC中调用swift代码则不是...

  • swift 应用

    //swift 暴露 objc 调用 //swift 调用 objc //自定义表达式模式 (重载运算符 ~=,自...

  • Swift中@objc的使用

    Swift中@objc的使用 在Swift代码中,使用@objc修饰后的类型,可以直接供Objective-C调用...

  • Swift和OC的交互

    OC调用swift 1.导入头文件 2.需要在swift类的方法前加 “@objc” 3.直接调用 Swift调用...

  • swift学习_@objc的使用

    在Swift代码中,使用@objc修饰后的类型,可以直接供Objective-C调用。 可以使用@objc修饰的类...

  • swift与objc混编

    1、在原来objc的项目中增加swift文件,Xcode会询问是否配置objc的桥接头文件,默认点击“Create...

  • OC与swift互调

    在swift项目中调用oc代码和在oc项目中调用swift代码是一样的方法。 这里通过一个简单的例子展示在Swif...

  • Swift OC类里面调用Swift方法

    在OC类里面引入Swift类 在Swift中,为你准备调用的方法和属性,添加@objc 添加之后,在OC中,就可以...

  • 在iOS混编项目中改造objc代码

    对objc代码改造,适应swift调用的同时,也能提升objc代码质量 1.可选值 nullable、nonnul...

网友评论

    本文标题:在Objc项目中调用Swift

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