zoukankan      html  css  js  c++  java
  • swift跟oc的区别

    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类似效果。

  • 相关阅读:
    (SenchaTouch+PhoneGap)开发笔记(2)开发环境搭建二
    Sql语句复习
    冒泡排序
    微信开发订阅号(ASP.NET MVC4+jquery mobile+AppHarbor发布)
    Ext4 ComboBox组件使用
    ExtJs 进度条(轮询)
    如何替换掉.net toolStrip控件溢出按钮背景图
    easyui-menu 宽度自适应
    Python之入门学习
    servlet和filter的区别
  • 原文地址:https://www.cnblogs.com/WellLin/p/12659151.html
Copyright © 2011-2022 走看看