1. 程式人生 > >swift開發教程

swift開發教程

第一次更新

swift是一個新的程式語言在iOS,maxOS,watchOS和tvOS方面,這個新的程式語言是建立在c語言和objective-c的基礎之上的,並且無限制的相容c語言,swift採用的是安全的程式設計模式採用了現代程式設計的特點,從某種意義上講可以讓程式設計更加的簡單容易,靈活有趣。swift從創立之初就相容了好多的cocoa和cocoatouch  的框架,從某種意義上講,這樣的方式開拓了軟體開發的工作方式。

swift經過幾年的發展,蘋果公司以swift為基礎也開發出了一系列的編譯器,偵錯程式和框架等公共設施。為我們簡化了記憶體管理機制。我們的框架的搭建是以Foundation框架和Cocoa框架為基礎的,並且自始至終都貫穿了很多的最新的標準objective-c從自身開始也開發出了很多的支援的程式碼模組,能夠更好的將swift與objective-c更好的相容到一起,不至於出現disruption,有了這些工作的支援,才讓我們更好的用最新的語言參與的未來蘋果軟體的開發中來。

swift對於通曉objective-c的開發者來說它其中的好多的動態的模型都是與objective-c中的模型都是相似的,很多的引數都是一樣的,它提供了與Cocoa框架的無縫結合。並且可以與objective-c進行混合程式設計,建立一個共同的程式碼機制。swift是一個引用了很多的新的特點和統一的面向過程和麵向物件的程式語言。

swift是非常友好的程式語言,保證了系統開發的質量在眾多的指令碼開發語言中,他提供playground為我們提供了即時編譯的效果,可以有效的提高了我們開發的時間,可以及時的看到程式的執行的結果,提高了程式碼的準確性。

swift更好的結合了現代的程式設計的思維,彙集了眾多的蘋果開發者的智慧的結晶,讓編譯器在平臺上更加的被優化使用,讓程式碼更加的有親和力。設計的合理性從最簡單的“hello world”開始到,整個作業系統的開發。swift為蘋果公司健全了未來的開發者的開發環境。

swift是一個大膽創新的程式語言,在編寫IOS,MacOS,watchOS,和tvOSAPP方面有自己的產品特色,並且可以有更好的演變與發展。我們的目標就是將swift更好的發展。

Swift一覽

之前的時候我們每學過一個新的程式語言都會在螢幕上打印出一行“Hello World!”在Swift中我們可以用一行簡單的程式碼來輸出

print("Hello, world!")

如果你有C語言或者是object-c的開發經歷,在你使用swift後你會覺得這個語言是一個很有親和力的程式語言。在swift中這個一行程式碼就是一個完整的程式。你不需要引入單獨包含input/output的函式庫或者是標頭檔案。程式碼被寫在程式的接入點的全域性的空間中,所以你不需要一個main函式。同樣你也不需要用分號分割每一行的程式碼。大大的減少了編寫程式碼的時間。

這裡我們為你開啟一個swift的奇幻之旅,我們將展示如何實現各種各樣的程式。不用擔心對新的開發語言的不理解,我們從這本書中為你開啟一個詳細而又愉快的程式設計之旅。為你展現每一個細節的開發方式。

簡單一覽

用let來定義一個常量用var來定義一個變數,對於常量來說我們需要給他一個明確的有價值的值,意思就是說定義一次,可以在任何的地方使用它,但是常量一旦被定義,就不能被修改了。

varmyVariable = 42

myVariable = 50

letmyConstant = 42

對於一個常量或者是一個變數,我們都需要指定一個確切的有意義的值給它,當你在建立一個變數或者是一個常量的時候,你的編譯器去推斷這個常量或者是變數的型別,就像是變數myVariable編譯器會自動推測它個數據型別為Integer因為給它賦了一個integer型別的值。

letimplicitInteger = 70

letimplicitDouble = 70.0

letexplicitDouble: Double  = 70

這裡我們要分清出在變數第一次定義的時候是型別的推斷,但是在使用的時候叫做型別轉換。

我們可以通過現實的定義來指定變數的資料型別。變數不會隱式的轉換為其他的型別,如果你需要去讓一個變數隱式的轉換為其他型別請看下面的例子

letlabel = "The width is "

letwidth = 94

letwidthLabel = label + String(width)

嘗試去解決一下String帶來的錯誤。

有一個簡單的方法來將變數轉換為字元型別,是在變數前面插入一個反斜槓(\)例如:

letapples = 3

letoranges = 5

letappleSummary = "I have \(apples) apples."

letfruitSummary = "I have \(apples + oranges) pieces of fruit."

建立陣列和字典型別用([ ]),通過一個簡單鍵值對的方式來初始化,元素之間用逗號隔開。

varshoppingList = ["catfish", "water", "tulips", "blue paint"]

shoppingList[1] = "bottle of water"

varoccupations = [

"Malcolm": "Captain",

"Kaylee": "Mechanic",

]

occupations["Jayne"] = "Public Relations"

定義一個空陣列和一個空的字典的方式也是很簡單的

etemptyArray = [String]()

letemptyDictionary = [String: Float]()

如果可以推測型別資訊你可以寫一個空陣列,還可以寫一個空的字典型別例如下面:

shoppingList = []

occupations = [:]

當你要建立一個新的變數值的時候你可以通過一個函式來建立。