Swift的一些翻譯1:Swift Playgrounds

第二章ios

Swift Playgroundsweb

去作,玩的開心,享受遊戲編程

-Michael Jordan安全

    在WDC2014,蘋果宣佈全部的iOS設備都將開始使用一個新的編程語言叫作Swift.Swift被稱做"快速,現代,安全,可交互的"編程語言.這門語言具備更容易學,編程更有成效的特性.app

    在Swift以前,iOS程序基本上是用OC寫的.這門語言(OC)已經使用了超過20年,蘋果把它當作Mac和iOS設備最基本的編程語言.我曾經和許多有最求的ios開發者討論過,多數人以爲OC太難學了,語法看起來也很怪異.簡單來講,這門代碼嚇跑了一些剛開始學習iOS編程的人.編程語言


    在我看來,Swift會誘惑更多的web開發者來開發移動軟件.若是你是個有其餘腳本語言編程經驗的web開發者,你能利用你現有的專業知識來學習開發iOS軟件的知識.它會讓你絕不費力的學習Swift.儘管如此,即使你沒有一點編程經驗,是個新的不能再新的小白,你一樣會發現Swift這門語言很友好,開發軟件更溫馨.學習


    2015年6月,蘋果發佈Swift2,同時變成了開源的編程語言.蘋果在下一盤很大的棋.之後,你可能把Swift用於Linux,再過些日子,你甚至能夠用Swift開發安卓軟件.誰知道呢?!伴隨着這個新的新聞,新版本的Swift有了一些很是棒的特徵(好比錯誤的處理,擴展接口和可用性檢查)來讓開發者寫出更好更漂亮的代碼.更重要的,隨着Xcode7發佈,它進一步的增強了學習這門語言的體驗.過一會你就會理解個人意思.
ui


    咱們來體驗一下Swift編程語言,看看下面這段代碼
編碼

    OCspa

const int count = 10;
double price = 23.55;

NSString *firstMessage = @"Swift is awesome. ";
NSString *secondMessage = @"What do you think? ";
NSString *message = [NSString stringWithFormat:@"%@%@", firstMassage,secondMessage];

NSLog(@"%@", message);


    Swift

let count = 10
var price = 23.55

let firstMessage = "Swift is awesome. "
let secondMessage = "What do you think?"
var message = firstMessage +secondMessage

print(message)

    第一段代碼用OC寫的,第二段代碼用Swift寫的.你以爲哪一個語言更好?我猜應該會以爲Swift更好,尤爲是你曾經被OC語言打擊過的話.


    常量和變量是兩個最基本的元素.在OC的世界裏,當你申明一個變量或者常量的時候你必須詳細的說明它的類型信息,它是一個整型仍是一個字符串.而在Swift,它介紹了一個叫類型推斷的新特徵.你再也不須要註釋一個常量或者變量的類型信息.全部你要作的是用let來聲明一個常量,用var來聲明一個變量.Swift很聰明,它能夠經過審查你輸入的值來判斷類型.

    你可能注意到分號有所不一樣.在OC理,你不得不在每一段後面加一個分號.若是忘記作這步,你會收貨一個error.我知道不少OC的初學者對於這個錯誤已經有很豐富的經驗了.Swift將會讓你的開發者生涯更簡單一點,Swift增長了不少有用的特性來讓你的代碼生涯更流暢.在上面那個例子裏,string操做更簡單.在OC裏,你不得不在NSString和NSMutableString這兩個類之間選擇來代表這個string是否能被修改.而在Swift裏你不用作這樣的選擇.不管什麼時候你分配一個string看成變量,這個字符串在你的代碼裏均可以修改.鏈接字符串超級簡單,你僅僅須要用+號鏈接兩個字符串.Swift甚至容許你直接用==

    沒有比實實在在的的寫代碼更好的探索編碼的方法了.從Xcode6開始,蘋果介紹了一個新的特性叫作Playgrounds.這是一個對開發者來講可交互的開發環境,它可讓開發者嘗試Swift編程,而後你能夠看到即時的結果.Xcode7增長了一些內聯的特性讓初學者探索Swift變得更好了.

    假設你已經安裝好了Xcode7(或者更高級的版本),登錄.你應該能夠看到一個開始的標誌.

    Playground在Xcode文件裏是一個特別的類型.你能夠簡單的點擊"Get started with a playground"來開啓它.而後你要填寫項目名字而且選擇一個開發平臺.你能夠用默認的名字或者起一個你本身的名字,記得選擇ios平臺.一旦你肯定,Xcode會打開Playground界面.屏幕的左邊區域是你輸入代碼的地方.當你寫下你的代碼,Playground會當即翻譯你的代碼顯示在右邊部分.Playground有兩行默認代碼.就像你能看見的那樣,str變量的結果立刻顯示在右邊的屏幕上.

    咱們將一塊兒寫一些代碼.記得咱們這個操做的目的是讓你體驗Swift編程和Xcode的更好的主意.我將試着解釋咱們移動到的代碼部分.固然,即便你不理解任何一條代碼也沒什麼問題.我想當確信你會被一些關係所迷惑,好比類和方法.忘記他們表明的意思,你要作的是放鬆而後和Xcode玩遊戲.在下個章節咱們講複習他們.

    Cool!咱們開始吧.

    首先,寫兩行代碼.這裏咱們定義兩個變量: 

var message1 = "Hello Swift! How can I get started?"
var message2 = "The best way to get started is to stop talking and code."

    當你輸入上面的代碼時,你會看到在屏幕右邊的結果.咱們接着添加下面這行

message.uppercaseString

    Xcode的編輯帶有自動補全的特性.自動補全對加速你寫代碼來講是一個很是便利的特性.當你輸入mess,你會看到自動補全窗口顯示一些對於你已經輸入的詞的建議.你要作的僅僅是選擇message1而後按下回車.

    Swift使用.來呼出方法和訪問變量的屬性.當你在message1以後輸入. 自動補全窗口會再次出現.它會建議一列.方法和屬於變量的屬性.你能夠繼續輸入uppercaseString或者從自動補全窗口選擇它.一旦你輸入徹底,你將會立刻看到輸出.

    繼續輸入下面的代碼:

message2.lowercaseString + " Okey, I'm working on it"

    Swift容許你用+號鏈接2個字符串.有趣的是,你能夠在代碼裏使用emoji符號.你可能想知道怎麼輸入emoji符號.按control+command+空格,emoji菜單就出來了.

    讓咱們繼續寫下面的代碼:

if message == message2 {
    print("Same message")
} else {
    print("Not the same message")
}

    條件邏輯在編程中很是常見.有時候,你會想要一段代碼只在特定的條件下出現.if-else語句就是控制程序達到這個目的的一個辦法.這裏咱們用==比較message1和message2.若是他們是同樣的,程序會輸出"Same message".反之,則會輸出"Not the same message".你應該看一下你屏幕上的結果.咱們作一些更好玩的事,創造一個標籤,一個很普通的用戶界面元素:

let messageLabel = UILabel(frame: CGRectMake(0, 0, 300 ,50))
messageLabel.text = message1
messageLabel

    這裏咱們使用了一個內置的UILabel類來創造一個標籤,設置它的尺寸爲300X50.而後咱們把它的值傳入message1.在Playground裏預覽一個界面元素,你能夠點擊Quick Look(右邊那個眼睛)或者Value History按鈕.

    這只是一個簡單的label.若是你能改變它的顏色會不會更好?這很簡單.你僅僅須要一條代碼來定製顏色.此外你還能夠把文本居中而後把label編程圓角.寫下下面的代碼你會看見一個黃色背景的圓角label.

messageLabel.backgroundColor = UIColor.orangeColor()
messageLabel.textAlignment = NSTextAlignment.Center
messageLabel.layer.cornerRadius = 10.0
messageLabel.clipsToBounds = true
messageLabel

    這就是iOS SDK的能力.它帶來了許多預建的元素同時容許開發者用少許的代碼來定製他們.不要誤解我.典型的例子,你不須要寫代碼來搭建用戶界面.Xcode提供一個故事版特性讓你設計UI的時候能夠直接拖動.咱們將在下一章說到這個.

    這就是你的Swift初體驗.怎麼樣?有沒有愛上它😋 我但願你能發現Swift學習和編碼要簡單不少.更重要的是,我但願你不要被學習app開發給嚇跑了.你能夠下載Playground文件以供參考

地址:https://www.dropbox.com/s/y9plgddbsjauhqq/MyPlayground.zip?dl=0

相關文章
相關標籤/搜索