這節課我們來試試開發一個簡單的命令行小遊戲,來完整的體驗一次所謂的“開發過程”。
遊戲設定是這樣的:
這是一種棋盤類游戲,我們來猜測敵人戰艦的位置,只要命中數發就可以擊沉它們。
我們給這些戰艦貼點標籤……比如各種網站吧?所以,這就成了一個攻擊網站的程序……捂臉。
遊戲目標
我們要玩家以[……]
蘋果新出的用於代替OC的高級編程語言!
這節課我們來試試開發一個簡單的命令行小遊戲,來完整的體驗一次所謂的“開發過程”。
這是一種棋盤類游戲,我們來猜測敵人戰艦的位置,只要命中數發就可以擊沉它們。
我們給這些戰艦貼點標籤……比如各種網站吧?所以,這就成了一個攻擊網站的程序……捂臉。
我們要玩家以[……]
我們在上課之前,一起來回顧一下以前曾提過的“SoC”的概念,我們說這個叫做“Separation of Concerns”,我把它翻譯為責任分離——即不同的部分專注於自己的那一部分。或者說一個對象完成一個目標。
這樣做的目標既讓代碼更加模塊化易於維護,也讓系統運行效率更高。所以說,我們要讓對象[……]
我們使用 var 來聲明一個變量,就好像從櫃子裡拿出了一個試管放在了實驗台上;
我們給變量規定了一個類型,就好像在試管上貼上了標籤;
那麼放入的試劑就必須是標籤上標記了的——否則可能導致中毒或者爆炸。
同樣的,如果我們試圖給一個儲存器放入一個錯誤的數據類型,那麼編譯[……]
上一節課我們第一次領略了 OOP 的風采,於模棱兩可的類和對象究竟是什麼東西呢?這節課我們用一個簡單的小栗子來向你介紹。
我們說類和對象的關係是設計圖和產品的關係,就拿我們的房子來說,一棟樓肯定會有對應的設計圖,但設計圖絕不會只能對應一棟樓,至少一個小區肯定會用一套設計圖不是嗎?我們的[……]
考慮到有的同學沒有 iPhone,但學習 Swift 語言大家至少都會有 OS X 操作系統,我們的代碼演示都會在 OS X 下完成,使用 CLI 界面。這樣雖然又顯得古老了,但相信我去掉 GUI 會讓你省心不少——因為那又是另一回事了。
我們來看看,用 O[……]
我們都知道在 Java 中聲明一個抽象的類或者方法要使用 abstract 關鍵字,可是很遺憾熟悉的東西總會逝去,在 Swift 中已經沒有了這個標籤。
那麼,我們究竟要如何來聲明一個抽象的類呢?
這一點倒是讓人很熟悉對吧?吧構造器私有了那這個類肯定就不能被初始化[……]
Swift 提供了一種高性能的、兼容 Unicode 的字符串實現,這也成為了它自身標準庫的一部分。在 Swift 2 中, String 類型不再遵守 CollectionType 協議,那時 [克雷[……]
今天朋友推薦了一個有意思的頁面,域名是這樣的:
HTTP://fuckingclosuresyntax.com
在 Swift 中,所有的函數都是閉包,標準的函數只不過是有名字帶參數的最完整的閉包。
好了,以下是正文
[……]
在學習 Swift 編程語言的時候可能不會遇到這個東西,但是隨著學習的深入,在你閱讀他人的代碼的時候,很可能你就會遇到這種NS類型,這時候你肯定會好奇,類似 String 和 的NSString 到底哪裡不同?似乎它們是完全一樣的呀!而且,通過 as 這個關鍵字,我們也可以輕鬆的讓數據在它們兩者之間轉[……]
在今年6月份的 WWDC 大會上, 蘋果發布了 Swift 2.0 編程語言。這個新版本有了更高的性能,全新的錯誤控制API以及支持一流的可用性檢測功能。並且改善了蘋果SDK平台的API使其對 Swift 更加原生。
對於新功能來說,另外值得注意的就是蘋果將會在今年晚些時候開源 Swift[……]
我們都知道在 Swift 語言當中不再有 main 函數了,可能瞭解過 C語言或者 JAVA 語言的同學對這一點趕到深深的不適。總之,取而代之的是 main.swift。
|
1 2 3 4 |
int main(int argc, const charchar * argv[]) { printf("Hello, World!\n"); return 0; } |
在 Swift 語言當中,編譯器不會再[……]
貌似這個 Solarized 主題一直都很火,這是一套終端文字顏色配色方案,十分好看,有明暗兩種,不過,據我自己猜測,應該暗色的多一些吧……
點擊下圖跳至官網。⬇️
因為終端普遍還是黑色一點的好看😜
總之,這套顏色主題為很多終端都提供了配置文件可以直接導入,[……]
不論你是在學習何種語言,基本上都會遇到一個叫做 MVC 的概念,它是一個程序開發的模式,以“分離展現”作為核心,在層級框架當中有著巨大的影響力。
MVC 是一個簡寫,三個大寫字母分別對應著 模型 視圖 和 調節器 。
在如今我們創建的應用軟件當中,很多情況下又要使[……]
在 C語言當中,要轉換類型似乎並不怎麼困難,這次在學習 Swift 的時候卻有了困惑。
似乎記得哪個教程當中講過,但記不清了,這次又找到了,就記錄下來:
|
1 2 3 4 |
假定三个变量: var i:Int = 5 var f:Float = 3.3 var d:Double = 4.455 |
若要 Int 轉換為 Double 或 Float ,則如下
[CR[……]