swift 的碎碎念

重写构造方法,必须调用一次系统提供的构造方法以便初始化父控件

写便利构造函数的时候,需要先初始化自身的所有属性,基本数据类型需要直接复制,String等可以用?可选值达到懒加载效果,也可以在构造方法里赋值,####重点是,初始化之后,需要调用一次系统的任意一个构造函数,以初始化父控件
swift的初始化跟oc不同:

  • swift是先创建自身,然后一层一层网上找父控件去初始化.
  • oc是从最上层开始,依次初始化父控件直到自身,然后初始化自身之后依次返回去,相当于要走一来一回
    所以就初始化而言,swift要比oc快一点

swift没有runtime机制,他可以调用runtime方法,但是底层跟oc不同,swift允许你调用这些oc方法,但是本身没有

swift的switch默认没有贯穿,不用像oc一样加break,如果想达到贯穿的效果,加关键字fallthrough
switch可以多条件并列,用","隔开即可

关键字:

  • Break: 结束整个控制流的执行. 当在一个循环体中使用break时,会立刻中断该循环体的执行,然后跳转到表示循环体结束的大括号(})后的第一行代码。不会再有本次循环的代码被执行,也不会再有下次的循环产生.
  • fallthrough: 贯穿.从上一个 case 分支落入到下一个 case 分支中
  • continue: 多个条件语句嵌套,跳出本次循环,继续下次判定

检测API的可用性: “if或guard语句中使用可用性条件(availability condition)”

if #available(iOS 10, macOS 10.12, *) {
    // 在 iOS 使用 iOS 10 的 API, 在 macOS 使用 macOS 10.12 的 API
} else {
    // 使用先前版本的 iOS 和 macOS 的 API
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容