【iOS】Stanford swift+iOS11
杜致远

关于斯坦福公开课

总共是16次正课+3次可选课
今天看完了#1以及#2的一半,不得不说,斯坦福公开课的教学质量非常高。

首先,教授的态度就不同于我所接触到的很多大学教授,他开讲之前就说apple有很多很cool的产品,app store中有很多很cool的app,我们要学习的swift是一门年轻的同时也很cool的语言,从中能感受到教授对于他要传授给人的东西有很高的热情,这种热情其实是会不自觉感染学生的,在跟随这样的教授学习的过程中,也会慢慢觉得,我在学的在做的是很cool的东西。

然后在讲解的过程中,老师很注重工具的使用,用实例app比较大体上展示了Xcode的各个部分有什么用处。亲身示范边敲代码边教学。把实践融入到整个教学的过程中。

第一次在上编程课的时候有了一种被“授人以渔”的感觉,教授说你要是用一个对象的方法,你可以直接猜测,有什么关键词,然后根据自动补全提示,来猜测哪个method是你想要的,如果不能确定,可以点进去看说明文档。

这对于长期习惯于先看经典的类包含了哪些方法,记下来,在用到的时候根据记忆去使用这样的学习流程的我,是一个很大的震撼。这其实是一种,用到的时候再去学的方法,大大减轻了前期的学习负担,而是强调理解查找,现学现用的能力。

在学生时代总是追求系统而全面的学习知识,这当然是更扎实的方法,但有多少次,还没来得及扎实的掌握,就已经败在了如山的等待学习的知识面前。在实际的项目中,快速开始,快速学习,快速运用,才是一种更为可贵的能力。

知识点记录

  1.  按这个小圈圈可以让代码和ui界面同时出现

  2. 按住option键,移动鼠标可显示详细信息,比如移动到某一个method上可以显示它的使用方法,传入参数等

  3. 属性观察器
    每当变量值发生改变,didSet中的代码都会执行

1
2
3
4
5
var flipCount = 0 {
didSet {
flipCountLabel.text = "flips:\(flipCount)"
}
}
  1. 数组的写法
1
@IBOutlet var cardButtons:[UIButton]!
  1. command键
    使用rename来重命名代码和界面共有的代码command快捷键

  2. optional 只有已设置和缺省两种情况,在已设置是可以关联其设置的值究竟为多少,optional(1),表示已设置且值为1,nil表示缺省

  3. !的作用,假设可选类型已设置值的话,取其关联值返回,optional(1)将返回1,但若可选类型未设置值,将导致崩溃

  4. 创建string类型数组
    string数组

  5. 参数可以有两个名字

  6. 一个参数可以有两个名称,第一个是外部名称,第二个是在函数内部名称

1
init (identifier i: Int){ }
  1. for循环的写法以及countabaleRange
1
2
for identifier in 0..<numbersOfPairsOfCards{} //1~
for identifier in 1...numbersOfPairsOfCards{}
  1. 存入数组尾部的方法
1
2
cards.append(card)
cards += [card, card]
  1. 静态成员及成员函数写法
1
2
3
4
5
6
static var identifierFactory = 0

static func getUniqueIdentifier() -> Int{
identifierFactory += 1
return identifierFactory
}
  1. lazy var
    惰性变量意味着:直到有人想要抓取它时才会被初始化
    但此时不能使用didSet