美文网首页
Swift和OC的区别

Swift和OC的区别

作者: 里克尔梅西 | 来源:发表于2020-04-19 17:29 被阅读0次

一、编程范式

  • Swift可以面向协议编程、面向函数编程、面向对象编程。
  • OC主要是面向对象编程。

二、类型安全

  • Swift是一个类型安全的语言。例如定义一个NSString,不能传递给其int。
  • OC则不尽然。

三、值类型增强

  • 在Swift中,典型的有struct、enum以及tuple都是值类型。平常使用的int、double、float、string、array、dictionary、set也都是结构体实现的,所以也是值类型。
  • 而OC中NSString、NSNumber以及集合对象都是指针类型的。

四、枚举增强

  • Swift中的枚举,支持整形、浮点型、字符等,而且还能有自己的属性和方法,甚至支持协议、扩展、泛型等。
  • 而OC中的枚举只是一个标记值而已。

五、泛型

  • Swift支持泛型。

六、协议和扩展

  • Swift对协议的支持更加丰富,配合扩展(extension)、泛型、关联类型等可以实现面向协议的编程。
  • OC的协议缺乏约束,而且optional会出现很多问题。

七、函数和闭包

  • Swift中函数是一等公民,可以直接定义函数类型的变量、将函数作为参数传递、将函数作为返回值返回。
  • OC中函数是次等公民,需要block或者selector

相关文章

  • OC与swift的区别

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

  • 面试题

    Swift和OC的区别? 1.swift是静态语言,有类型推断,OC是动态语言。2.swift面向协议编程,OC面...

  • 按位或操作

    1. OC 和 Swift 中的区别 OC中定义Options Swift 中定义Options ** 在Swif...

  • Swift 3.x(字符串,数组,字典,元组,可选类型)

    Swift 字符串介绍 OC和Swift中字符串的区别 OC中字符串类型是NSString ,在Swift...

  • swift面试题

    一.Swift和OC的区别? 1.swift是静态语言,有类型推断,OC是动态语言。 2.swift面向协议编程,...

  • 浅谈Swift和OC的区别

    浅谈Swift和OC的区别 一、Swift和Objective-C的联系 Swift和Objective-C共用一...

  • Swift语言基础

    //Swift 与 OC 的区别

  • Swift基础语法-if语句--对比OC

    if语句基本使用 OC和Swift中的区别 OC 中如果只有一条指令if后面的大括号可以省略 Swift: if ...

  • 潭州ios面试题 1

    Swift 1> Swift和OC的区别 1.1> Swift没有地址/指针的概念 1.2>泛型 1.3>类型严谨...

  • iOS swift-字符串

    OC和Swift中字符串的区别 在OC中字符串类型时NSString,在Swift中字符串类型是String OC...

网友评论

      本文标题:Swift和OC的区别

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