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 类

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 2016-01-15 16:02  ACM_Someone like you  阅读(774)  评论(0编辑  收藏  举报

导航