IMG_5926.JPG


    image.png

    • 最明显区别:OC由.h和.m文件组成,而swift只有一个文件,整体文件数量比OC有一定减少。
    • 不像C语言和OC语言一样都必须有一个主函数main作为程序入口,Swift程序从第一句开始向下顺序执行,一直到最后。(Swift将全局范围内的首句可执行代码作为程序入口,swift也有main函数,只是不用我们自己编写)
    • swift数据类型都会自动判断,只区分变量var和常量let
    • 关于BOOL类型更加严格,swift不再是OC的非0就是真,而是true才是真false才是假
    • swift的switch语句后面可以跟各种数据类型,如int、字符串、元组、区间都行,并且里面不用写break
    • swift中可以定义不继承于其它类的类,称之为基类
    • final关键字
      • 使用final关键修饰的类,不能被其他类继承
      • 继承final修饰的类会报错:Inheritance from a final class ‘…’
    • 类方法修饰符:static
    • guard关键字 -> 判断某个参数是否符合要求,不符合直接返回,省去过多的if-else语句
      • guard关键字必须使用在函数中
      • guard关键字必须和else同时出现
      • guard关键字只有条件为false的时候才能走else语句,相反执行后边语句
    • in out关键词
      • in-out是修饰函数参数类型,表示该参数在函数内修改后(即函数返回后),其值为修改后的值。
        • 适用类型为变量
        • in-out修饰后的参数,在传参时需&修饰
    • Swift比Objective-C的优势:
      • Swift更容易阅读,语法和文件结构简易化
      • Swift更易于维护,文件分离后结构更清晰
      • Swift更加安全,它是类型安全的语言
      • Swift是一个类型安全的语言。类型安全的语言可以让你清楚地知道代码要处理的值得类型。类型安全,在编译代码是进行类型检查,并把不匹配的类型标记为错误。
    • swift中struct和class的区别
      • struct->存放在栈区,值引用,不能继承
      • class->存放在堆区,类型引用,可以继承