如股票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 ---没有雾霾