Swift 5.0 -- About Swift

时隔半年之久,项目缠身,没能督促自己跟进Swift,一转眼已是5.0,带着问题来学习吧。
The Swift Programming Language(Swift 5.0)

这里是OC与Swift对比之下提出的问题,之后会陆续找到答案的:

文档里说,Swift通过采用现代编程模式来定义大类常见的编程错误:

  • 变量在使用之前要被初始化 

    Q:OC有这个特性吗?
    A:OC没有要求,使用之前一定要初始化.不过个人建议先初始化后再使用,初始化后,指针所指向的空间有了,对象也存在了.
    如果想要了解变量初始化的意义,可以参考文章:iOS中定义变量是否初始化的区别
  • 检查数组是否越界
  • 检查整数是否溢出

    Q:OC是否可以编译时检查数组是否越界?
    A:OC是动态语言,只会在运行时才知道数组是否越界,没有预知能力,所以swift更安全
  • 可选值(Optionals) 确保nil 明确地被处理过

    Q: OC可以处理nil值吗?
    A:若不做任何保护代码判断,OC 是没有能力自行判断的
  • 自动管理内存

    Q:OC的内存自动管理机制和Swift有什么不同吗?
    A:Swift使用自动引用计数(ARC)来简化内存管理,与OC一致
  • 错误处理允许从异常失败中控制恢复。

    Q: OC可以做到吗?
    A:目前还没听说,异常失败后就app就退出了,需要重启,Swift如何做到,有待继续学习.

 

 

参考文章:iOS中定义变量是否初始化的区别

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值