OC中的一些写法在swift中如何书写

在从OC语言转swift的时候,相信大家都遇到过这种情况,知道在oc中如何书写某些程序,但在swift中就不明白怎么写了,在此记录些我遇到的情况,希望能够帮助那些刚刚转成swift的同学。

1、按位或的写法

由于oc语言中可以兼容c语言的写法,所以同样的代码写在swift中就会报错。

oc

UIView *view = [[UIView alloc] init];
view.autoresizingMask = (UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight);  

swift

let view = UIView()
view.autoresizingMask = [.flexibleWidth,.flexibleHeight]
2、枚举为None的写法

oc中有些枚举值为XXXXNone,但在swift中你会发现没有对应的这个枚举值。这时候不要慌,用空数组([])代替就可以了。

3、对指针的操作

Objective-C和C语言经常需要使用到指针。

默认情况下,Swift 是内存安全的,这意味着它禁止我们直接操作内存,并且确保所有的变量在使用前都已经被正确地初始化了。但是,Swift 也提供了我们使用指针直接操作内存的方法,直接操作内存是很危险的行为,很容易就出现错误,因此官方将直接操作内存称为 “unsafe 特性”。过多的道理在此不过多叙述。

下面看一个操作指针的例子。
oc

 MAMapPoint *p = (MAMapPoint *)malloc(sizeof(MAMapPoint) * count);

swift

 let mapArr = UnsafeMutablePointer<MAMapPoint>.allocate(capacity: modelArr.count)
4、最大值

oc

CGFLOAT_MAX

swift

CGFloat.greatestFiniteMagnitude

暂时想起来不常见的写法就这么多,未完待续。。。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值