iOS oc 调用 swift

如股票oc要调用swift里面的代码 需要包含固定这个头文件

项目名称 LiqunSwiftDemo-Swift.h

         #ProjectName#-Swift.h

固定的写法

swift 目的 是取代oc 但是 不会完全取代 只是前端的替换

LiqunSwiftDemo-Swift 点进去 可以看到 所有的swift代码 都产生了 对应的一个 oc的类

也就是 编译过程中 swift 先转换成 oc代码 再由oc代码转换成 c代码 (swift 在oc 之上 编译器前端的语法的转换 不涉及到编译器后端的转换)

 1,  #import <LiqunSwiftDemo-Swift.h>

 2,  写一个swift 类

1
2
3
4
5
6
7
8
9
10
11
12
13
import Foundation
 
class TestSwift : NSObject {
    override init() {//
        print("in init")
    }
    func someFunc(){
        print("in someFunc")
    }
    func getArrayByValue(v1:String ,v2:String) -> NSArray{
        return [v1 , v2]
    }  
}

 在oc 中调用

    TestSwift *ts = [[TestSwift alloc]init];

    [ts someFunc];

    NSArray * arr = [ts getArrayByValue:@"今天天气" v2:@"---没有雾霾"];

    for(NSString *str in arr){

        NSLog(@"str is %@",str);

    }

//结果

in init

in someFunc

2016-01-15 15:39:27.586 LiqunSwiftDemo[1776:117383] str is 今天天气

2016-01-15 15:39:31.346 LiqunSwiftDemo[1776:117383] str is ---没有雾霾

posted on   ACM_Someone like you  阅读(783)  评论(0编辑  收藏  举报

编辑推荐:
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· .NET Core 托管堆内存泄露/CPU异常的常见思路
· PostgreSQL 和 SQL Server 在统计信息维护中的关键差异
阅读排行:
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· DeepSeek “源神”启动!「GitHub 热点速览」
· 我与微信审核的“相爱相杀”看个人小程序副业
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库
· 上周热点回顾(2.17-2.23)

导航

< 2025年2月 >
26 27 28 29 30 31 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 1
2 3 4 5 6 7 8
点击右上角即可分享
微信分享提示