OC调用swift:
1.在OC类,引用#import "weoil-Swift.h"
2.swift类的 变量 方法 前面要加上 @objc
swift调用OC:
1.weoil-Bridging-Header 这个头文件是用来放swift要用到OC所用到的类
2.swift可以继承OC类
3.oc的方法在swift里面调用,可以换方法名:例子如下
-(void)eat NS_SWIFT_NAME(myEat());
4.swift没有宏:
不会变的值可以用:let SCREEN_HEIGHT = UIscreen.mainScreen().bounds,size.height
会变的值可以用函数:func RGB_CCOLOR(r:CGFloat,g:CGFloat,b:CGFloat) -> UIColor {return UIIColor()}
5.swift的独有特性:混编文件要注意独有属性问题(比如swift元组,为一等公民的函数,特有枚举等) 举个例子:oc索引查找当返回值是NSNotFound的时候swift期望是nil,这时候需要这么做:
@interface Person:NSObject
- (NSUInteger)indexOfString;
@end
extension Persion {
func indexOfString(str:String!) -> Int? {
let index = Int(__index(of:str))
if(index == NSNotFound) {
retuen nil;
}
return index;
}
}