美文网首页
OC 与 Swift 的不同

OC 与 Swift 的不同

作者: 帅气的阿斌 | 来源:发表于2020-04-15 12:28 被阅读0次

1、=在swift中不再有返回值

    var a = false
    //❌ 直接编译报错
    if a = true {
        print("a is true")
    }

2、结构体CGRect....在swift中可直接设置属性

        let btn = UIButton(type: .custom)
        btn.frame = CGRect(x: 0, y: 0, width: 100, height: 100)
        btn.frame.size.height = 200//在OC会报错

3、比较相等性

==
OC == 如果是值类型则比较值相等 如果是对象则是比较引用变量指向内存的指针地址
swift中 ===才是比较引用内存的指针地址且
swift中 == 比较两个对象会直接报错

let a = (obj == objj)
//Binary operator '==' cannot be applied to two 'BinObject' operands

swift中字符串比较可以直接用 ==
OC必须用 isEqualToString....

swift中
结构体是值类型,赋值操作是进行的值拷贝
对象是引用类型,赋值时指针拷贝

字符串,数组和字典的赋值与拷贝行为
Swift 的 String , Array 和 Dictionary类型是作为结构体来实现的,这意味着字符串,数组和字典在它们被赋值到一个新的常量或者变量,亦或者它们本身被传递到一个函数或方法中的时候,其实是传递了拷贝。

这种行为不同于基础库中的 NSString, NSArray和 NSDictionary,它们是作为类来实现的,而不是结构体。 NSString , NSArray 和 NSDictionary实例总是作为一个已存在实例的引用而不是拷贝来赋值和传递。

4、
不同于 Objective-C 的初始化器,Swift 初始化器不返回值。

相关文章

  • Swift blog

    建议读一遍swift blog来了解OC与swift不同以及swift版本变动细节 OC id -> Swift ...

  • swift基础小结1

    swift基础小结 for 循环OC与Swift对比 While循环与downhill循环 OC与swift使用的...

  • OC与swift的区别

    OC与Swift的区别一(文件结构) OC与Swift的区别一(常量、变量、运算符) OC与Swift的区别三(条...

  • Swift与OC的不同

    写在前面 以前做iOS的项目一直使用OC开发,最近做项目时使用了Swift。但是被别人问及 为什么使用Swift做...

  • OC 与 Swift 的不同

    1、=在swift中不再有返回值 2、结构体CGRect....在swift中可直接设置属性 3、比较相等性 ==...

  • swift与OC混合式编程

    swift与OC混合式编程 swift在不断完善, 与OC并驾齐驱. swift与OC混合式编程是现阶段很多项目开...

  • swift5版本学习

    swift与OC区别:swift与OC1、Swift容易阅读,语法和文件结构简易化。2、Swift更易于维护,文件...

  • OC和Swift混编

    ###一、OC调用Swift 在OC类中导入ProductName-Swift.h文件(根据不同的Target的名...

  • iOS Swift开发之与OC区别之处

    前言 在OC转Swift开发中会有遇到一Swift与OC开发不同之处,下面分别讲讲,遇到了就增加记录,有不全和不足...

  • OC与Swift混编 / Mix & Match

    OC与Swift混编 / Mix & Match OC in Swift 通过Header File创建Bridg...

网友评论

      本文标题:OC 与 Swift 的不同

      本文链接:https://www.haomeiwen.com/subject/hajtactx.html