• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

OC与Swift的主要区别

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

swift与OC的主要区别就是语法区别,其他大抵相同.

区别1: swift中使用let定义常量,var定义变量.常量一经赋值,不可以进行修改,变量赋值后可更改.

         swift能够根据右边的代码,推倒出该变量的准确类型.

 

在实际开发中 使用常量多还是使用变量多?

使用常量,更加安全,不能够被修改,在需要对该对象进行修改的时候 在修改为var修饰区别.

 

 

2: swift对数据要求异常严格,不会做隐式转换;

     不同类型之间不能够直接计算需要手动转换类型,调用构造函数传递参数进行类型转换

 

区别3: swift中有一大特色,就是optional可选项,定义变量是,如果指定可选项,表示该变量可以有一个指定类型的值,也可以是nil;

 

  1. 声明: var a: Int?  
  2. '?'表示可选类型或者可选解包,

    在调用可选类型的对象的属性或者方法的时候会使用可选解包

  3. '!' 表示强行解包 
  4. 获取可选类型的不为空的值
  5. 强行解包有风险,需要考虑是否安全

'??' 合并空选项

 

  1. 需要使用 () 提高优先级
  2. 如果有值就直接使用,如果没有就使用 ?? 后面设置的默认值
  3. 判断字符串 或者基本数据

区别4: swift中构造函数可以重载,就是init的括号内写一堆参数,OC中代替方式initWithXXX....

 

闭包

 

  • 字符串
    • String 是结构体,更加轻量级,效率更高,支持遍历,可以和NSString 无缝的转换 as
    • NSString 集成自NSObject 是对象
    • 字符串的合并
      • 使用 +
      • 使用String()传参数实例化字符串
      • \() 转义字符串
      • 格式化字符串 String(format:
    • 字符串的截取
  • 集合
    • let 声明的是不可变的集合,var 声明的是可变的集合
    • 数组
      • [XXX]表示数组类型, XXX是某一个类
      • [XXX]() 就能够实例化空数组
      • [元素1,元素2,....]
    • 字典
      • [key1 : value1, key2 : value2,...]
      • [String : Any] 最常用的字典类型
  • 闭包的基本格式
    • 没有参数没有返回值 () -> ()
    • 有参数没有返回值 (Int, Int) -> ()
    • 有参数有返回值的 (Int, Int) -> Int
      • 尾随闭包
        • 当函数的最后一个参数是闭包的时候,函数的参数的 '()' 可提前关闭,如果函数只有闭包这一个参数, '()' 可以省略

鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap