apps從0到1 day0

今天是2015年的第171天,又半年了。
也是該收收心寫下代碼了。
三天不寫程序,就感覺好像沒學(xué)過一樣。而這個(gè)六月我連碰鍵盤的次數(shù)都很少。
寫文章的初衷是想記錄一下開發(fā)一個(gè)蘋果應(yīng)用的完整過程,技術(shù)上的。也順便想改掉我做事老是半途而廢的壞毛病。這個(gè)系列的文章大概會(huì)有二十多篇,需要三個(gè)星期左右的時(shí)間。內(nèi)容基本上是在一個(gè)老外的博客上抄襲過來的,沒辦法,我自己水平不夠嘛,不過我還是會(huì)在文章中加進(jìn)自己的一些東西的,比如會(huì)用到git??偠灾M约耗軋?jiān)持下來吧,也希望能在7月底之前能找到一份合心水的工作,畢竟就目前的股市來看,情況不容樂觀啊。

===============我是萌萌的分割線===============

半個(gè)月之前的WWDC2015大概是我們蘋果開發(fā)者一年中最興奮的時(shí)刻了。不過今年和去年相比,是失色不少的。雖然iOS 9如期而至,但是整個(gè)大會(huì)給我的感覺更像是在給自家軟件升級(jí),而最后更是用了半個(gè)小時(shí)來介紹apple music,至于嗎?不就是一個(gè)音樂應(yīng)用嘛,我們中國的酷狗音樂功能也做得差不多吧。唯一的亮點(diǎn)大概就是發(fā)布了Swift 2并且將它給開源了。正如Craig Federighi所說的:“我們認(rèn)為Swift將會(huì)是下一代大型編程語言,在未來20年里,它將在使用在所有手機(jī)應(yīng)用和系統(tǒng)編程中。我們認(rèn)為每個(gè)人都將使用它。”開源后它將可以在Windows和Linux上使用,看來這次蘋果真的開始嘗試去統(tǒng)治世界了。
好了,扯得有點(diǎn)遠(yuǎn)了。
在開發(fā)iOS apps之前,首先要準(zhǔn)備幾個(gè)工具:
1,買一個(gè)mac
是的,沒辦法,蘋果就是這么坑。什么都還沒開始學(xué)就得先交幾千塊買設(shè)備。不過相信我,一旦你用上了mac,就再也不想回到Windows的世界了。
2,注冊成為蘋果開發(fā)者
不用擔(dān)心,這個(gè)是免費(fèi)的,注冊之后你才可以下載Xcode,獲取iOS SDK文檔等東西。
3,安裝Xcode
Xcode是你唯一的開發(fā)環(huán)境。
4,加入iOS開發(fā)者計(jì)劃(可選的)
原裝正版的需要99刀,每年。好貴,剛開始也用不上,反正我現(xiàn)在是不急著買,等到真正需要發(fā)布應(yīng)用的時(shí)候再買吧。幸好我們有萬能的某寶,18rmb搞定,就可以愉快地在真機(jī)上去調(diào)試了。

現(xiàn)在可以開始寫代碼了。
所有編程語言的開始:Hello World.
打開Xcode,新建一個(gè)Single View Application:

屏幕快照 2015-06-29 上午12.13.39.png
屏幕快照 2015-06-29 上午12.14.09.png
屏幕快照 2015-06-29 上午12.16.07.png

填好應(yīng)用的名稱,編程語言選擇Swift,不要選擇Use Core Data,點(diǎn)Next,完成之后,就得到了新創(chuàng)建的Project:

屏幕快照 2015-06-29 上午12.23.05.png

正式寫代碼前,先熟悉一下Xcode:
這是代碼編輯區(qū):

屏幕快照 2015-06-29 上午12.34.00.png

這是Storyboard,故事板,做界面的地方:

屏幕快照 2015-06-29 上午12.34.28.png

因?yàn)槲冶容^懶,所以比較細(xì)節(jié)的地方我就不截圖解釋了,到用到的時(shí)候我再向大家介紹吧。
其實(shí)到現(xiàn)在為止,它已經(jīng)是一個(gè)完整的應(yīng)用了,可以在模擬器里先運(yùn)行一下看看,按下command+R:

屏幕快照 2015-06-29 上午12.47.09.png

看到了吧?雖然現(xiàn)在是一片空白(因?yàn)槲覀円恍写a都還沒寫),但是那些功能強(qiáng)大的apps都是在這基礎(chǔ)之上添加功能而已。
下面就是發(fā)揮想象力的時(shí)間了。
我想這應(yīng)該就是編程的魅力了。你可以用你的代碼去做任何你想做的事情(合法的)。
我們的Hello World程序的功能很簡單:
1,我們需要一個(gè)Button,它叫Hello World.
2,點(diǎn)擊這個(gè)按鈕的時(shí)候,它能彈出一條歡迎信息。
我該怎么做呢?我們開發(fā)的程序是要給iPhone用戶使用的,用戶必須看得見吧,這個(gè)就叫做UI(User Interface),用戶界面。上面說過,我們做用戶界面的地方是在Storyboard里面,打開main.storyboard,在右下角對(duì)象庫里拖一個(gè)Button到View里面,利用校準(zhǔn)線對(duì)準(zhǔn)正中間,然后將它的名字改成Hello World:

屏幕快照 2015-06-29 上午1.21.59.png

怎么樣,我們一行代碼還沒寫,就已經(jīng)創(chuàng)建好一個(gè)Button了。這也正是iOS開發(fā)優(yōu)雅的地方,它的代碼和用戶界面的設(shè)計(jì)是分開的,雖然我并不知道Android那邊是怎樣做的:-)
你可以在模擬器上運(yùn)行一下,你會(huì)發(fā)現(xiàn),Button有是有了,但是按下它的時(shí)候沒反應(yīng)啊,當(dāng)然了,我們一行代碼都還沒寫嘛,它當(dāng)然不知道它要干嘛了。
終于,終于我們要寫代碼了。當(dāng)你按下這個(gè)Button的時(shí)候,它肯定是要執(zhí)行我們寫的代碼的,我們是在另外一個(gè)文件寫代碼的,Xcode有一個(gè)很強(qiáng)大的功能就是它能很容易的就將用戶界面上的控件和代碼連接起來,通過control+drag的方式,這個(gè)方式我很難截圖去演示,大家就自行腦補(bǔ)一下吧:

屏幕快照 2015-06-29 上午1.39.48.png

代碼區(qū)旁邊那個(gè)小實(shí)點(diǎn)就代表了你的控件已經(jīng)連接到這個(gè)函數(shù)了。
往那個(gè)函數(shù)里面加入以下代碼:

let alert = UIAlertController(title: "Hello World", message: "這是你的第一個(gè)程序", preferredStyle: .Alert) let action = UIAlertAction(title: "OK", style: .Default, handler: nil) alert.addAction(action) self.presentViewController(alert, animated: true, completion: nil)
運(yùn)行一下:

屏幕快照 2015-06-29 上午1.46.19.png

這就成功了吧!:-)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 發(fā)現(xiàn) 關(guān)注 消息 iOS 第三方庫、插件、知名博客總結(jié) 作者大灰狼的小綿羊哥哥關(guān)注 2017.06.26 09:4...
    肇東周閱讀 15,433評(píng)論 4 61
  • 嗯哼嗯哼蹦擦擦~~~ 轉(zhuǎn)載自:https://github.com/Tim9Liu9/TimLiu-iOS 目錄 ...
    philiha閱讀 5,265評(píng)論 0 6
  • 1,數(shù)字帝國,http://zh.numberempire.com/ 是這里邊我用的最多的,一個(gè)網(wǎng)頁肯定沒matl...
    別鬧了睡覺s閱讀 581評(píng)論 0 2
  • 第五章 朵朵來電話的時(shí)候,蕭薇剛剛忙完一大堆雜務(wù)事,正在辦公區(qū)域伸著懶腰連著長吁了幾口氣。 這個(gè)下午,一正二副三個(gè)...
    夢1212閱讀 278評(píng)論 0 1

友情鏈接更多精彩內(nèi)容