【读书笔记】A Swift Tour
素材: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相关推荐
- 《Swift编程语言教程》中文翻译及读书笔记page21
<The Swift Programming Language>中文翻译及读书笔记,附件中为英文原版教程 因21页之前内容和技术关系不大,不做翻译整理,从第21页开始 第21页 1 swi ...
- 【读书笔记】100个Switf必备tips
1.Selector 在Swift中可以用字符串常量来构造Selector,例如: NSNotificationCenter.defaultCenter().addObserver(self, sel ...
- 《算法图解》读书笔记—像小说一样有趣的算法入门书
前言 学习算法课程的时候,老师推荐了两本算法和数据结构入门书,一本是<算法图解>.一本是<大话数据结构>,<算法图解>这本书最近读完了,读完的最大感受就是对算法不再 ...
- The SwiftProgramming Language读书笔记第26页
· 第26页 The SwiftProgramming Language读书笔记学习笔记第26页 本页主要讨论swift语言里的整形数据和浮点数. 1 int整形,有符号整形数据,是和计 ...
- 关于数据治理的读书笔记 - 数据治理能力成熟度评估
读书笔记的历史文章, <关于数据治理的读书笔记 - 理现状和定目标> <关于数据治理的读书笔记 - 什么是数据文化?> <关于数据治理的读书笔记 - 什么是组织机制?&g ...
- 《Web全栈工程师的自我修养》读书笔记
<Web全栈工程师的自我修养>读书笔记 [声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://w ...
- 计算机图形学 读书笔记(五) 网格参数化 Triangulated Surface Parameterization
写个读书笔记,一来作为字典以后可以查,二来记录自己的理解. 并没有对每个知识点的详细解释,大部分只有主观的定性的解释. 网格参数化的意义: 提供了网格和其他domain(如贴图)的映射,即:将一个三维 ...
- 《程序员的呐喊》读书笔记(上)
<程序员的呐喊>是Google一位老程序员的经验总结,文中展现了他对各大语言如Java.C/C++.Lisp.Python.Ruby.Perl等的极端观点,比如大力吐槽C++,极力推崇C. ...
- 【读书笔记】知易行难,多实践
前言: 其实,我不喜欢看书,只是喜欢找答案,想通过专业的解答来解决我生活的困惑.所以,我听了很多书,也看了很多书,但看完书,没有很多的实践,导致我并不很深入在很多时候. 分享读书笔记: <高效1 ...
最新文章
- PM——视屏操作软件
- 使用wireshark分析tcp/ip报文之报文头
- ios保存gif到相册_如何在iOS中保存和下载GIF图片
- Vs code 02 配置非标准的C、C++的编译环境
- markdown编辑器语法——字体、字号与颜色
- 有那个眼界和能力,已经不是年轻人了
- 21天jmeter打卡day6 配置元件之HTTP信息头+Cookie管理器
- python安装pil库-python第三方库PIL.Image安装
- mac 发现 添加 连接 局域网内打印机
- 【图像分割】基于K-means聚类算法图像分割【含Matlab源码 1476期】
- 自己动手制造超强硬件防火墙
- 重读“发展Linux,中日两国之比较”有感
- SSL证书以及其验证过程
- Brute Force(暴力破解)
- 车金融|金融产品规则引擎的前世今生(中篇)
- 计算机网络课程设计组建大型网吧局域网,计算机网络课程设计报告—组建大型网吧局域网.doc...
- Postgresql - 监控 moniter — pgbadger
- 例题 9-8 颜色的长度(Color Length, ACM/ICPC Daejeon 2011, UVa1625)
- 反爬虫SSL TLS指纹识别和绕过JA3算法.md
- Windows7/10耳机插入前面板没反应的解决方案
热门文章
- 【iOS】Touch Drag Inside 和 Touch Drag Outside、Touch Drag Enter、Touch Drag Exit的区别
- [Java] 蓝桥杯ALGO-30 算法训练 入学考试
- 1064. 朋友数(20)-PAT乙级真题
- 蓝桥杯 ADV-194算法提高 盾神与积木游戏(贪心)
- java连接mysql数据库增删改查操作记录
- element-ui源码阅读笔记(button篇)
- 忘记root密码后怎么解决?克隆虚拟机后如何实现两台linux相互登录?
- spring配置 quartz-config.xml
- iOS - Swift NSRect 位置和尺寸
- java拷贝构造函数