第1講 Logistics, iOS 8 Overview
首先感謝網(wǎng)易公開課和SwiftV課堂的朋友們辛苦翻譯,以下是本人的心得體會和筆記。本人學(xué)習(xí)的是CS193p的iOS8課程,大家有興趣可以到itunes U中下載學(xué)習(xí),實(shí)踐在iOS9下。
當(dāng)前學(xué)習(xí)環(huán)境:
- Xcode 7.2(7C68)
- iOS 9.2
- OS X 10.11.2
- Swift 2.1
一、本講學(xué)習(xí)內(nèi)容
1、這們課程講的是什么?
為什么我們會在這呢?我們要學(xué)習(xí)iOS開發(fā)呀。呵呵
2、學(xué)習(xí)這門課的前提
你必須有很強(qiáng)的面向?qū)ο缶幊痰慕?jīng)驗(yàn)。
3、iOS概述
講解iOS上有什么。
4、演示
給大家講解一個有數(shù)千行代碼的演示程序(有關(guān)計算器的)
二、我們能從這門課程中學(xué)習(xí)什么?
1、如何編寫一個"酷"的程序
- 很容易編寫非常復(fù)雜的應(yīng)用程序
- 程序在你的手機(jī)或背包里
- 通過AppStore應(yīng)用商店很容易分發(fā)你的程序
- 精彩的開發(fā)社區(qū)
2、真正的真實(shí)的面向?qū)ο缶幊?/h2>
- Cocoa Touch的核心是100%的面向?qū)ο?/li>
- MVC 設(shè)計模式
- 在開發(fā)平臺中應(yīng)用好多的計算機(jī)科學(xué)概念
Databases,Graphics,Multimedia,Animation,Networking 等
- 已經(jīng)有好多的學(xué)生通過AppStore賣出了App
三、預(yù)備知識
1、前期課程
- 面向?qū)ο缶幊探?jīng)驗(yàn)(必需)
- CS106A&B(或X)&CS107或CS108或CS110(需要)
或與Standford課程相近的課程
2、你需要知道下面一些專題:
- Classic
- Instance
- Message
- Instance
- Superclass/Subclass
假如你對以上這些專題都很了解,那么這門課程對你來說并不是太難。
3、程序體驗(yàn)
- 這是一門偏難的CS課程
- 假如你以前沒有過任何編程經(jīng)驗(yàn)的話,那這門課程對你來說是一個不小的難題。
四、在iOS內(nèi)部有什么?
Databases,Graphics,Multimedia,Animation,Networking 等
或與Standford課程相近的課程
假如你對以上這些專題都很了解,那么這門課程對你來說并不是太難。
首先我們要知道IOS系統(tǒng)中的結(jié)構(gòu)情況,從貼近硬件的底層到貼近用戶的頂層,分為四個層次:
1.Core OS層
Core OS層在最下層,很多人可能不知道IOS是一個基于UNIX的操作系統(tǒng),它大量借鑒了Mac OS X 的內(nèi)核部分。Mac OS X我們肯定不會陌生,命令行的使用很好的證明了它是一個基于UNIX的系統(tǒng)。IOS針對移動設(shè)備,對電池等硬件進(jìn)行了系統(tǒng)的優(yōu)化,但它仍可被看成是一個UNIX系統(tǒng)。這樣在最底層Core OS層就包括了 Sockets(套接字)、permission(權(quán)限)等等類似的部分。它靠近底層硬件,保證其正常工作。

2、Core Services層
面向?qū)ο髮樱谶@一層中你可以使用大量的面向?qū)ο蟮募夹g(shù),這層不包括UI,更多地是通過使用面向?qū)ο笤L問硬件或者網(wǎng)絡(luò)。它是很大的一層,我們需要很多的時間來學(xué)習(xí),因?yàn)樾枰@些原始組件來建立更高的層。

3、Media層
第三層是媒體層,比如我們所熟悉的IPEG等靜態(tài)圖像、視頻的拍攝和處理、不可思議的音頻框架用于處理3D音效及游戲等等。

4、Cocoa Touch層
我們會在Cocoa touch層上花費(fèi)大量的時間,這一層包含了我們常用的一些控件,簡單的譬如按鈕、文本框等等,復(fù)雜的有瀏覽器和地圖,你只需要拖拽到你的storeboard頁面中就可以使用它們的強(qiáng)大功能。

五、開發(fā)平臺控件
在進(jìn)行iOS開發(fā)時,我們需要使用Xcode,這是一個非常強(qiáng)大的代碼編輯器。語言方面我們有兩種語言可供選擇,一是Objective-C,這門語言已經(jīng)使用了2530年,非常的成熟,但是它已經(jīng)2530歲了!去年夏天蘋果公司發(fā)布了新語言Swift,你可以用它開發(fā)一切IOS的應(yīng)用,為了它的誕生蘋果公司做了很多努力,Swift吸收了很多已經(jīng)存在的編程語言的優(yōu)點(diǎn)。它語法簡潔、類型安全并且還有類型推斷以及大量特性。
此外我們需要學(xué)習(xí)一些框架的知識,UIKit,這是頁面開發(fā)的主要框架。Foundation,會在Core Service層經(jīng)常提到。Core Motion框架用于處理設(shè)備移動、旋轉(zhuǎn)、陀螺等。Coredata框架用于面向?qū)ο蟛僮鳌?/p>

六、演示
1、Calculator
- 課程很吸引人
- 我們開始我們的Xcode 7和Swift編程
- 花費(fèi)兩節(jié)課講完這個演示
2、今天在這個演示中講到的專題:
- 在Xcode7中建立一個項(xiàng)目
- 建立一個UI(使用Autolayout)
- iOS模擬器
- print(使用()來轉(zhuǎn)變成String)
- 在Swift中定義一個類
- 用Swift代碼來聯(lián)結(jié)UI上的元素
- 通過代碼來訪問iOS文檔
- Optional
3、計算器程序代碼:
- 新建一個項(xiàng)目為:Calculator 的項(xiàng)目
- 在窗體上放置1個UILabel,和1個UIButton。
- 將多個button集中在一個Action里
- 先將多個button綁定
- 通過currentTitel獲取button的值