Translate

2017年4月2日 星期日

Swift & Xcode 學習歷程 - Part 1 初探 Xcode 與 Swift

Swift & Xcode 學習歷程 - Part 1 初探 Xcode 與 Swift

在 Stanford CS193 的課程裡面,Michel Deiman 會把整個 iOS 分成四塊,但他在課程中有到,因為課程的時間,是不可能上完所有的,甚致連上完兩塊都有問題,所以,他會把教學的時間教放在 Cocoa Touch 那一塊。

從底層到表層,分別表列如下。

Core OS: 這一部分很底層,所以並不會教。

Core Service: 這一部分也是很靠近底層,所以也不教。

Media: 大部分使用者的應用都在這,影像、照片、聲音的應用都在這一塊,但這堂課沒時間講這一層的應用。

Cocoa Touch: Multi couch, Map kit, Camera。這些應用是這一系列課程主要會說的東西。


而這堂課程會用到的

工具: Xcode8
語言: swift
framework: Foundation, UI kit
Design strategy: MVC 

而最最重要的,就是 Design strategy 一定一定要用 MVC。因為你不用 MVC 最後,只會讓你的 app mess up。



— 開始做計算機 —

每一次的第一堂課, Michel Deliman 都會快速的做出一個計算機的app給大家看。因為他製作的速度真的太快了,所以大家會看得很有意思。不過同時,他在講話的同時,手是不會慢下來的,所以建議各位有雙螢幕的話,還是另外開一個視窗,或是用另一個裝置去看影片吧。

這一點,我倒是蠻佩服現場的學生,因為當你在現場的時候,是不可能喊一聲「時間暫停」,然後老師就定格了,你的大腦、耳朵、手,都必須邊看邊學,才有可能跟上 Michel Deliman 的節奏。




一個計算機的 input 按鈕,就是 0 ~ 9 的數字。而這些數字的 func 可以都用複製貼上的,所以你可以先製作出一個 “7”,然後確定他的功能是正確的之後,你再 copy + paste 把剩下的數字按鈕都貼上。

而 swift 在 fund 的設置時,一定有一個  external 的詞,也有一個 internal 的詞。
舉列來說

func drawALine (from startX: Double, to endX: Double, using color: UIColor) {

}

這個 fun 的 internal 就是 startX, endX, color而 external 就是 from, to , using。這一種寫法有一個好處,你在外部呼叫這個 fund 的時候,你用 external 就可以了,而這樣的寫法,在母語為英文的工程師的大腦中,這樣很好理解。當然,這東西會有一個缺點,因為你打了比較多的字。不過 Michel Deliman 的看法是,他認為現在的程式,是一群工程師合作才能做出來的東西,而後續的維護等等,也佔了軟工程中很大的一部分。所以,他願意犧牲簡略性,而去提昇可讀性。而同時,他也說了 Xcode並不希望一個工程一直打字打字,所以當你打字打到一半,他就會跳出各種選項,所以他認為,能明確的表達你在寫什麼,這一段程式碼的功能在做啥,是比較重要的。


console: 的print
在 swift 中沒有 printf,只有 print, 但是如果你丟出一個不是 string 的東西在裡面,你有一招可以用。
print (“\(變數) was bla bla bla “)
這一招,可以讓許許多多的東西都丟進去,非常好用。

課程的最後:
就用這個 gif 來當 lecture 1 的總結吧。



沒有留言:

張貼留言