OC桥接Swift学习记录

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;

                }

                }

                

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值