開始用Swift開發(fā)iOS 10 - 2 Hello World型雳!第一個Swift APP

預(yù)覽.png

"Hello,World"已經(jīng)成為編程世界里開始的慣例倡勇。

開始:先動起來,忘記代碼

  1. 打開Xcode村生,選擇"Create a new Xcode project"
Xcode - Welcome Dialog.png
  1. 選擇 iOS > Single View Application and click Next
Xcode Project Template Selection.png
  1. 填寫項目的一些選項:
Options for your new project.png
  • Product Name: HelloWorld - app的名字
  • Team - Apple ID
  • Organization Name: andyron - 這一般是組織的名字惊暴,或個人用戶的名字;盡量保持不與別人重復(fù)
  • Organization Identifier: cn.andyron
  • Bundle Identifier: com.andyron.HelloWorld - 根據(jù)Organization IdentifierProduct Name自動組合而成
  • Language: Swift
  • Devices: iPhone
  • Use Core Data: [unchecked]
  • Include Unit Tests: [unchecked]
  • Include UI Tests: [unchecked]
  1. 選擇一個項目保持位置趁桃,然后生成項目

熟悉Xcode界面

Xcode Help中詳細(xì)介紹了Xcode辽话,主界面如下:

Xcode主界面

主要分六個區(qū)域:

  1. Toolbar(工具欄)
  1. Tab bar(便簽頁欄):類似瀏覽器的標(biāo)簽頁,快捷鍵也和大部分軟件的相同(?+T新建卫病,?+W關(guān)閉)油啤,單個標(biāo)簽頁時是隱藏的
  2. Navigator area(導(dǎo)航區(qū)域)
    這個區(qū)域最上面有八個圖標(biāo)(快捷鍵分別對應(yīng)?+1 ~ ?+8):
    • project navigator(源代碼文件、圖片文件蟀苛、數(shù)據(jù)模型益咬、屬性列表等)
    • symbol navigator(編譯器能識別的:OC類、枚舉類型屹逛、結(jié)構(gòu)體础废、全局變量)
    • find navigator
    • issues navigator
    • test navigator
    • debug navigator
    • breakpoint navigator
    • log navigator
  3. Editor area(編輯區(qū))
    這個區(qū)域最上面是jump bar(跳轉(zhuǎn)欄)


  4. Debug area
  5. Utilities area(實用工具面板)



    分上下兩塊:

  • Inspector pane(檢查器):選擇不同文件會有不同個數(shù)的檢查器,最多六個(快捷鍵分別對應(yīng)?+option+1 ~ ?+option+6)罕模。
  • Library pane(庫面版, 快捷鍵分別對應(yīng)?+option+control+1 ~ ?+option+control+4)
    • 文件庫模板(File Template Library) : 管理文件模板, 可以快速創(chuàng)建指定類型文件, 可以直接拖入項目中;
    • 代碼片段庫(Code Snippet Library) : 管理各種代碼片段, 可以直接拖入源代碼中;
    • 對象庫(Object Library) : 界面組件, 可以直接拖入 故事板中;
    • 媒體庫(Media Library) : 管理各種 圖片, 音頻 等多媒體資源;

第一次運行App

Run和Stop分別對應(yīng) ?+R?+.评腺,Simulator用于選擇模擬器或真實設(shè)備

Run and Stop Buttons

快速了解Interface Builder(IB)

project navigator中選擇main.storyboard

The Interface Builder Editor.png

The Interface Builder editor為創(chuàng)造和設(shè)計app的UI提高了一個可視化的方法。在這里既可以設(shè)計單個頁面淑掌,也可以設(shè)計多個頁面蒿讥。可以直接從右下角Object library拖動可用對象到IB中抛腕。
當(dāng)開始新建項目芋绸,選擇了Single View Application模板時,Xcode默認(rèn)在storyboard中生成一個view controller scene担敌,對應(yīng)一個view controller摔敛。通常app的每一個screen代表一個view controller。
The Document Outline view在選擇storyboard特定對象時特別有用全封。

設(shè)計UI

  • 拖動一個Button到IB中
    Drag the Button to the View.png
  • 雙擊Button或在屬性檢查器中修改name為"Hello World**
  • 根據(jù)藍(lán)色虛線輔助線可以把Button拖到中心位置

寫代碼

  • 選擇main.storyboard马昙,點擊工具欄右側(cè)的Assistant editor(option+?+return),編輯區(qū)出現(xiàn)兩部分刹悴,Ctrl拖動按鈕到右側(cè)ViewController類中:

然后寫下如下代碼:

@IBAction func showMessage() {
    let alertController = UIAlertController(title: "Welcome to My First App",
message: "Hello World", preferredStyle: UIAlertControllerStyle.alert)
    alertController.addAction(UIAlertAction(title: "OK", style:
UIAlertActionStyle.default, handler: nil))
    present(alertController, animated: true, completion: nil)
}

上面的方法是先連接關(guān)系行楞,然后寫代碼;也可以先寫好代碼土匀,然后建立關(guān)系:


@IBAction表示一個Action的標(biāo)識符子房,沒有特殊意義,當(dāng)建立好關(guān)系后就轧,@IBAction右側(cè)會出現(xiàn)一個實心的點证杭,點擊會出現(xiàn)會出現(xiàn)以個彈框表示連接的地方:

  • 修改按鈕的顏色。選中按鈕钓丰,在屬性檢查器中修改對應(yīng)屬性


測試應(yīng)用

選擇特定的模擬器或設(shè)備躯砰,?+R

Hello world 應(yīng)用中事件流

Event flow.png

更近一步

  • 同上的方法添加幾個按鈕,并修改button的name為一些emoji表情(control+?+space
  • 添加@IBAction方法代碼
  • 通過先寫好代碼然后建立關(guān)系的方法携丁,把幾個button都與同一個@IBAction方法建立關(guān)系

代碼

HelloWorld
HelloWordExercise

說明

此文是學(xué)習(xí)appcode網(wǎng)站出的一本書 《Beginning iOS 10 Programming with Swift》 的一篇記錄

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末琢歇,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子梦鉴,更是在濱河造成了極大的恐慌李茫,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,277評論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件肥橙,死亡現(xiàn)場離奇詭異魄宏,居然都是意外死亡,警方通過查閱死者的電腦和手機存筏,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,689評論 3 393
  • 文/潘曉璐 我一進店門宠互,熙熙樓的掌柜王于貴愁眉苦臉地迎上來味榛,“玉大人,你說我怎么就攤上這事予跌〔” “怎么了?”我有些...
    開封第一講書人閱讀 163,624評論 0 353
  • 文/不壞的土叔 我叫張陵券册,是天一觀的道長频轿。 經(jīng)常有香客問我,道長烁焙,這世上最難降的妖魔是什么航邢? 我笑而不...
    開封第一講書人閱讀 58,356評論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮骄蝇,結(jié)果婚禮上膳殷,老公的妹妹穿的比我還像新娘。我一直安慰自己九火,他們只是感情好秽之,可當(dāng)我...
    茶點故事閱讀 67,402評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著吃既,像睡著了一般考榨。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上鹦倚,一...
    開封第一講書人閱讀 51,292評論 1 301
  • 那天河质,我揣著相機與錄音,去河邊找鬼震叙。 笑死掀鹅,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的媒楼。 我是一名探鬼主播乐尊,決...
    沈念sama閱讀 40,135評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼划址!你這毒婦竟也來了扔嵌?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,992評論 0 275
  • 序言:老撾萬榮一對情侶失蹤夺颤,失蹤者是張志新(化名)和其女友劉穎痢缎,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體世澜,經(jīng)...
    沈念sama閱讀 45,429評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡独旷,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,636評論 3 334
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片嵌洼。...
    茶點故事閱讀 39,785評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡案疲,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出麻养,到底是詐尸還是另有隱情络拌,我是刑警寧澤,帶...
    沈念sama閱讀 35,492評論 5 345
  • 正文 年R本政府宣布回溺,位于F島的核電站,受9級特大地震影響混萝,放射性物質(zhì)發(fā)生泄漏遗遵。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,092評論 3 328
  • 文/蒙蒙 一逸嘀、第九天 我趴在偏房一處隱蔽的房頂上張望车要。 院中可真熱鬧,春花似錦崭倘、人聲如沸翼岁。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,723評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽琅坡。三九已至,卻和暖如春残家,著一層夾襖步出監(jiān)牢的瞬間榆俺,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,858評論 1 269
  • 我被黑心中介騙來泰國打工坞淮, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留茴晋,地道東北人。 一個月前我還...
    沈念sama閱讀 47,891評論 2 370
  • 正文 我出身青樓回窘,卻偏偏與公主長得像诺擅,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子啡直,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,713評論 2 354

推薦閱讀更多精彩內(nèi)容