素材: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 指定对泛型类型本身的一些要求.

【读书笔记】A Swift Tour相关推荐

  1. 《Swift编程语言教程》中文翻译及读书笔记page21

    <The Swift Programming Language>中文翻译及读书笔记,附件中为英文原版教程 因21页之前内容和技术关系不大,不做翻译整理,从第21页开始 第21页 1 swi ...

  2. 【读书笔记】100个Switf必备tips

    1.Selector 在Swift中可以用字符串常量来构造Selector,例如: NSNotificationCenter.defaultCenter().addObserver(self, sel ...

  3. 《算法图解》读书笔记—像小说一样有趣的算法入门书

    前言 学习算法课程的时候,老师推荐了两本算法和数据结构入门书,一本是<算法图解>.一本是<大话数据结构>,<算法图解>这本书最近读完了,读完的最大感受就是对算法不再 ...

  4. The SwiftProgramming Language读书笔记第26页

    ·        第26页 The SwiftProgramming Language读书笔记学习笔记第26页 本页主要讨论swift语言里的整形数据和浮点数. 1 int整形,有符号整形数据,是和计 ...

  5. 关于数据治理的读书笔记 - 数据治理能力成熟度评估

    读书笔记的历史文章, <关于数据治理的读书笔记 - 理现状和定目标> <关于数据治理的读书笔记 - 什么是数据文化?> <关于数据治理的读书笔记 - 什么是组织机制?&g ...

  6. 《Web全栈工程师的自我修养》读书笔记

    <Web全栈工程师的自我修养>读书笔记 [声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://w ...

  7. 计算机图形学 读书笔记(五) 网格参数化 Triangulated Surface Parameterization

    写个读书笔记,一来作为字典以后可以查,二来记录自己的理解. 并没有对每个知识点的详细解释,大部分只有主观的定性的解释. 网格参数化的意义: 提供了网格和其他domain(如贴图)的映射,即:将一个三维 ...

  8. 《程序员的呐喊》读书笔记(上)

    <程序员的呐喊>是Google一位老程序员的经验总结,文中展现了他对各大语言如Java.C/C++.Lisp.Python.Ruby.Perl等的极端观点,比如大力吐槽C++,极力推崇C. ...

  9. 【读书笔记】知易行难,多实践

    前言: 其实,我不喜欢看书,只是喜欢找答案,想通过专业的解答来解决我生活的困惑.所以,我听了很多书,也看了很多书,但看完书,没有很多的实践,导致我并不很深入在很多时候. 分享读书笔记: <高效1 ...

最新文章

  1. PM——视屏操作软件
  2. 使用wireshark分析tcp/ip报文之报文头
  3. ios保存gif到相册_如何在iOS中保存和下载GIF图片
  4. Vs code 02 配置非标准的C、C++的编译环境
  5. markdown编辑器语法——字体、字号与颜色
  6. 有那个眼界和能力,已经不是年轻人了
  7. 21天jmeter打卡day6 配置元件之HTTP信息头+Cookie管理器
  8. python安装pil库-python第三方库PIL.Image安装
  9. mac 发现 添加 连接 局域网内打印机
  10. 【图像分割】基于K-means聚类算法图像分割【含Matlab源码 1476期】
  11. 自己动手制造超强硬件防火墙
  12. 重读“发展Linux,中日两国之比较”有感
  13. SSL证书以及其验证过程
  14. Brute Force(暴力破解)
  15. 车金融|金融产品规则引擎的前世今生(中篇)
  16. 计算机网络课程设计组建大型网吧局域网,计算机网络课程设计报告—组建大型网吧局域网.doc...
  17. Postgresql - 监控 moniter — pgbadger
  18. 例题 9-8 颜色的长度(Color Length, ACM/ICPC Daejeon 2011, UVa1625)
  19. 反爬虫SSL TLS指纹识别和绕过JA3算法.md
  20. Windows7/10耳机插入前面板没反应的解决方案

热门文章

  1. 【iOS】Touch Drag Inside 和 Touch Drag Outside、Touch Drag Enter、Touch Drag Exit的区别
  2. [Java] 蓝桥杯ALGO-30 算法训练 入学考试
  3. 1064. 朋友数(20)-PAT乙级真题
  4. 蓝桥杯 ADV-194算法提高 盾神与积木游戏(贪心)
  5. java连接mysql数据库增删改查操作记录
  6. element-ui源码阅读笔记(button篇)
  7. 忘记root密码后怎么解决?克隆虚拟机后如何实现两台linux相互登录?
  8. spring配置 quartz-config.xml
  9. iOS - Swift NSRect 位置和尺寸
  10. java拷贝构造函数