您的位置:首页 > 移动开发 > Swift

【读书笔记】A Swift Tour

2018-01-06 10:32 387 查看
素材:A Swift Tour

推荐下载Playground:Download Playground

objc 自己较为熟悉,想熟悉下风头正劲的 swift。就先从官方的入门手册开始撸。

每一小节,我都摘录或总结3个对自己三观冲击最大的【知识点】,以方便以后温习。总结不保证绝对正确,仅供交流之用。O(∩_∩)O哈哈~

Simple Values

var 表示变量

let 声明常量

[] 用于声明数组和字符串

Control Flow

if 或 while 等的判断条件中必须使用布尔值.

判断条件中的可能为 nil 值,统一使用 let varName = maybeNil 语法.

for in 循环,可同时应用于数组,字典或特定范围(Range).

Functions and Closures

形参新增了 "标签" 语义,有效丰富了函数重载的语义

"标签" 语义,不适合用于用作函数参数或函数返回值的函数的声明里.

闭包中,区分参数和函数体的,是通过 in 关键字来分割的.

Objects and Classes

swift 默认不会使用零值在声明时初始化变量.

let 常量,只能初始化一次,但可以不在声明时立即初始化.

子类初始化顺序是: 子类未初始化属性的初始化 --> 调用父类 init 方法 --> 其他额外操作

Enumerations and Structures

struct 是复制传值,即使只是简单的 var a = b, a 和 b 也是两个独立的对象.

enum 不是必须和某个类型值的关联.

enum 可以使用某种模式来作为动态匹配的 case.

Protocols and Extensions

增加新数据结构通用语法: [class|struct|enum|extension|protocol] 名称 : [class|protocol] {...}

Int 等基础类型,其实现是一个 Struct

enum 和 extension 不可以持有属性,但是可以用 get 方法来模拟一个属性

Error Handling

try 和有 throws 声明的函数配对使用.

try? 可选操作,有异常抛出则返回nil; try! 强制操作,有异常抛出,则抛出无法 do-catch 的致命异常.

defer block 在函数异常退出时,也可以正常执行.

Generics

函数,方法,类,枚举和结构体支持泛型的泛型的方式,就是在声明时的名称后,加 <泛型1, 泛型2, ...>

使用泛型时,要保证能在编译期推导出其类型.

可以使用 where 指定对泛型类型本身的一些要求.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: