Updated on 四月 4, 2019
学习笔记 for Stanford University (cs193p): Developing iOS 11 Apps with Swift 4
stanford的课是真的好,不服不行。感谢字幕翻译。
Lecture 1: Introduction to iOS 11, Xcode 9 and Swift 4
拖拽UI上的某个控件(比如UIButton)到代码,可以选择Outlet Collection,这样代码中就生成了一个UIButton的array,存放着被拖进来的控件,index顺序应该是按照拖进来的先后顺序。这样多个button调用同一个onclick方法,可以从array中获取该button的index从而知道是哪个button。
![](http://zhuqiaochu.truestudio.tech/wp-content/uploads/2019/03/微信图片编辑_20190320224635.jpg)
Lecture 2: MVC
struct和class的主要区别
1、结构体不能继承
2、结构体是值类型,类是引用类型。(当传递结构体的时候,是在拷贝它们)
Lecture 3: Swift Programming Language
元组(Tuples)
元组像是一个迷你的没有方法、变量的结构体,在里面只有值。
![](http://zhuqiaochu.truestudio.tech/wp-content/uploads/2019/03/WX20190322-144558.png)
元组可以作为函数的返回,当函数需要返回多个值的时候,挺方便的。
![](http://zhuqiaochu.truestudio.tech/wp-content/uploads/2019/03/WX20190322-145124.png)
访问控制
- internal – swift默认的。可访问范围是:此app内或此framework内
- private – 在此object内
- private(set) – property readable outside this object, but not settable
- fileprivate – 文件内
- public – (for frameworks only)可以被framework外访问
- open – (for frameworks only)public并且framework外可以继承
assert
确保某个条件是成立的,如果不成立的话,程序就会崩溃,然后打印错误信息。当release后,assert会被忽略。
java也有assert,以前几乎从没用过。现在感觉这个挺有用的,确保assert的条件的正确性,在研发阶段发现问题。