加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

Swift Object-c 相互调用

发布时间:2020-12-14 01:51:57 所属栏目:百科 来源:网络整理
导读:我们先看一下Swift调用Object-c 首先我们创建一个OC类 到最后一步的时候发现多了一个确认框,点击Yes 系统会生成一个Swift和OC的转换桥梁。 他的命名规则是 项目名称-Bridging-Header.h 这个是系统生成的我们直接用。 接下来我们给刚创建的OC类添加一个方法

我们先看一下Swift调用Object-c

首先我们创建一个OC类

到最后一步的时候发现多了一个确认框,点击Yes 系统会生成一个Swift和OC的转换桥梁。

他的命名规则是 项目名称-Bridging-Header.h 这个是系统生成的我们直接用。

接下来我们给刚创建的OC类添加一个方法

#import <Foundation/Foundation.h>

@interface TestSwift2OC : NSObject

-(void)TestOCStr;
@end


实现方法


#import "TestSwift2OC.h"

@implementation TestSwift2OC

-(void)TestOCStr
{
    NSLog(@"这个是OC方法");
}
@end


然后我们在刚才系统生成的文件TestSwiftOC-Bridging-Header.h 中添加一条语句

#import "TestSwift2OC.h"


好了 ,我们在swift中可以调用了,试一下

        var testSwift2oc=TestSwift2OC()
        testSwift2oc.TestOCStr()


是不是已经出来了


下面我们看一下OC调用swift

我们新建一个swift 定义一个方法

import UIKit

class TestOC2Swft: NSObject {
    func testSwftStr(){
        println("这个是Swift方法")
    }
}

然后我们在需要调用swift 类的 oc类中首先导入一个头文件

项目名称-Swift.h (这个是系统自动生成的)

看代码

#import "TestSwiftOC-Swift.h"

然后我们在oc中调用
    TestOC2Swft *testOC2Swift=[[TestOC2Swft alloc]init];
    [testOC2Swift testSwftStr];

调用就可以了




苹果开发群 :414319235 欢迎加入 欢迎讨论问题


苹果开发群 :414319235 欢迎加入 欢迎讨论问题

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读