CS193筆記 第一講 課程介紹

CS193 可能是最著名的iOS開發教程了。本系列作為Standford計算機系的課程,從2010年一開始就大受歡迎。在許多公開課網站都可以看到翻譯后的版本。這個課程主要是講解一些基本概念和UI設計,并不是一個iOS開發大全。比如關于游戲開發必備的SpriteKit,SceneKit和GameplayKit等內容就沒有涉及。但仍不失為iOS入門學習的最好材料。學習這個課程至少要有面向對象編程的基礎。

最新的一期講座基于iOS 10、Xcode 8 和 Swift 3.0。如果看舊版的話,多少在最新的環境里會遇到些問題。相關的視頻可以通過iTunes-U 下載觀看,這版是有英文字幕的。想學的同學可以立刻開始,不要等中文字幕了。

本系列筆記是我自己觀看這個教程的時候的所做的總結,可以幫助大家更好的掌握課程的內容。

本講簡介:iOS 10, Xcode 8 和 Swift 3 介紹。為了方便學生的理解,CS193教程里面的所有演示都會從頭開始。本講的demo是一個計算器。

這一講的內容和2016年版幾乎沒有什么不同。只是所有的演示都是在最新的環境里進行的。

iOS的分層架構

從上至下iOS 可以劃為四層。目前有個大致印象就可以了。下面是各層的一些重點模塊

Cocoa Touch => Map Kit, Camera, Core Motion, Web View, Localization

Media => Audio Recording, Video Playback, Core Animation, Quartz(2D)

CoreService ?=> Networking, Threading, SQLite, File Access

Core OS => Kernel, Sockets, Security, File System, Power Management

除了最下面一層外,了解這些模塊可以讓大家對未來要學習什么有個大致的印象。:)

XCode

XCode是Apple提供的iOS/OSx開發一站式解決方案。經過這些年的發展變化,幾乎所有開發所需的功能都已經被集成進來了。另外因為XCode Ghost事件的影響,從8.0開始第三方插件也都被禁止了。但一些流行的插件功能,如“Add Documentation”也被內置了。當然如果還想用第三方插件也是有辦法的,但不建議大家去折騰了。

視頻中,老師會帶領大家瀏覽XCode中的布局結構。大家可以花些時間自己多試試,一定會有收獲的。XCode可以自定義布局,詳見菜單中的“New Behavior”。為自己常用的布局定一個一個快捷鍵,會非常方便。

在XCode中可以對文件進行分組,把相關的文件放到同一組里面。比如資源組,控制器組等等。但這種結構并不會體現到實際的文件系統中。

XCode 集成了對Git的支持。建議大家一開始就用Github或Gitlab來管理自己的代碼。

Swift 3.0

講座中并沒有刻意地去介紹Swift 3.0和以前版本的異同。始終都是講的最新版。

Swift 中函數的參數可以定義兩個名字,一個外部用,一個內部用。如果不想被使用可以用 "_"。但只能用于第一個參數。關于Swift的語法,大家不必硬記,在實踐中會逐步掌握。另外任何教程都可能會過時,要多利用XCode中的playground來學習驗證。

類/結構中的屬性有存儲屬性和計算屬性(Computed Property)兩種,后者不占用數據空間。

其它:

如果不涉及UI,代碼中可以只導入 Foundation。UIKit 中包含Foundation。

"_" 可以在各種場合下替換變量/常量名,表示該變量/常量可以被忽略。

成員變量如果不是Optional類型,必須要有初值。否則需要提供構建函數(initializer)。

在視頻中經常可以看到屏幕左下角顯示當前按下的功能鍵。這個效果可以通過“Enable Sticky Keys"來實現。(在System Preference中搜索 Sticky)

本講用到的快捷鍵:

?+Click ? ? ? ?//查看定義,非常有用

?+I ? ? ? ? ? ?//整理代碼的縮進,非常常用

?+P ? ? ? ? // π

?+B ? ? ? ? // Build

?+R ? ? ? ? // Run

??H ? ? ?// 相當于按下模擬器的Home鍵

?+1/2/3/4/5 ? ? ? //縮放模擬器屏幕大小

本講的閱讀作業:https://swift.org/documentation/

一點題外話。Paul Hegarty 并不是蘋果公司的員工。但是和Jobs一起工作過!

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 發現 關注 消息 iOS 第三方庫、插件、知名博客總結 作者大灰狼的小綿羊哥哥關注 2017.06.26 09:4...
    肇東周閱讀 12,251評論 4 61
  • 今天是8月16日,是007第三次作業后的第二天,這次雖然按時完成了作業(上次作業雨遲到了),但是評論遲到了。之所以...
    宇踐未來閱讀 139評論 0 0
  • 雨水流,淚水流,流到長江君未留,從春流到秋。 歲悠悠,月悠悠,天地悠悠孤葉舟,海天無盡頭。 雪漫漫,風漫漫,寒到心...
    在咫尺如天涯閱讀 398評論 1 2
  • 首先,之前一點都不知道這個app是做什么的。大概,是他還沒有點,某江有名吧。不過,既然我已經知道了。就說明離大家知...
    王天豬閱讀 113評論 0 2
  • 個人比較喜歡咪蒙,今天特意買了咪蒙的《我喜歡這個功利的世界》再看。雖然,里面的文章大多都來自她之前的博客里面,并且...
    我有桃李伴海棠閱讀 220評論 0 2