美文网首页Swift学习
Swift和OC有什么区别?

Swift和OC有什么区别?

作者: robin2005 | 来源:发表于2020-07-29 15:56 被阅读0次

1.Swift可以面向协议编程、函数式编程、面向对象编程。

2.Swift是类型安全的,代码中使用字符串String,就不能传递一个整型Int给它。编译时会做类型检查,不匹配的类型会错误标记出来。

3.典型的struct enum tuple都是值类型,Int,Double,Float,String,Array,Dictionary,Set都是用结构体实现的,也是值类型。

4.Swift的枚举可以使用整型 浮点型 字符串等,还有拥有属性和方法,甚至支持泛型,协议,扩展等

5.Swift支持泛型,支持泛型类型约束。

6.Swift对协议支持更丰富,可以实现面向协议编程。

7.Swift可以直接定义函数类型变量,可以作为其他函数参数传递,可以作为函数返回值返回。(这一点跟js的闭包很像)

1.Objective-C以面向对象编程为主,当然你可以引入类似ReactiveCocoa的类库来进行函数式编程。

2.OC则不是,你声明一个NSString变量,仍然可以传递一个NSNumber给他,编译期间只会警告,不会报错。

3.OC里面NSNumber,NSString以及集合类对象都是指针类型。

4.OC的枚举只是个标记值。

5.OC在swift2之后加入Generics泛型支持,不过泛型约束停留在编译器警告阶段。

6.OC的协议缺乏强约束,提供optional特性往往成为很多问题的来源。

7.OC需要用selector或block才能模拟Swift类似效果。

相关文章

  • Swift相关(一)

    1、Swift和OC有什么区别? 2、class 和 struct 的区别 struct是值引用,更轻量,存放于栈...

  • swift面试题

    1.Swift 和OC 如何相互调用? 2.类(class) 和 结构体(struct) 有什么区别? 3.Swi...

  • Swift和OC有什么区别?

    1.Swift可以面向协议编程、函数式编程、面向对象编程。 2.Swift是类型安全的,代码中使用字符串Strin...

  • 面试题

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

  • Swift Day02 流程控制 函数

    一、流程控制 1. Swift 中的 if-else 和 OC 中的有什么区别?(至少说三个点) if 后面的条件...

  • oc Swift 混编

    oc Swift 混编 oc 项目 混编Swift1.1 oc 调用 Swift 的类 和 方法步骤: ...

  • swift面试题

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

  • iOS开发:CocoaPods的使用-swift和oc

    最近手里有swift项目和oc项目,发现CocoaPods的Podfile文件在oc和swift中的编写还不很一样...

  • OC和Swift混编

    OC和Swift的混编,分为两种情况: OC项目中嵌入Swift文件 Swift项目中嵌入OC文件 先来看OC项目...

  • OC Swift文件混编

    一.Swift 类可以继承 OC 类,OC 类不能继承 Swift 类。 二.Swift 和 OC 混编 三.两个...

网友评论

    本文标题:Swift和OC有什么区别?

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