前言
本篇旨在為iOS開發(fā)尚未入門的同學提供一些基本的指引玷或,但仍要求你具備最基本的C語言以及Objective-C編程常識通铲。
刨根問底是一個好習慣毕莱,它是一個優(yōu)秀軟件工程師的基本素養(yǎng),但是對于編程新手來說,我們不必問太多的為什么朋截,只需要跟著做蛹稍,也許你一開始迷迷糊糊,多一點耐心和虛心部服,其中的真意最終都會漸漸顯露唆姐。
新建一個iOS應用工程
打開蘋果為我們提供的開發(fā)工具——Xcode。
點擊"Create a new Xcode project"廓八,意為“創(chuàng)建一個新的Xcode工程”奉芦。
接下來會彈出一個工程模板界面。
此處選擇iOS下的"Single View App"剧蹂,意為"單視圖應用"声功,點擊next,來到工程設(shè)置界面宠叼。
這個界面的眾多選項目前我們不必一一深究先巴,在Product Name下填入工程名稱,將Language設(shè)置為Objective-C后即可點擊next冒冬,選擇工程存放的位置后伸蚯,便完成了工程的創(chuàng)建。
如果勾選了下面的Source Control窄驹,那么Xcode會自動將工程加入到自帶的Git的版本控制中朝卒,無論你是否了解,都建議勾選上乐埠,不懂的同學以后可以了解一下Git的使用方法~
接下來我們正式進入到Xcode的主界面抗斤。
1:頂欄(我也不知道這個該叫啥2333,總之它不會消失就是了)
2:導航欄 (navigator)
3:編輯區(qū)
4:檢測欄 (inspector)
5:調(diào)試區(qū)——變量視圖
6:調(diào)試區(qū)——控制臺
如果你看到的界面和我的不一樣丈咐,那么有可能是某些區(qū)域被隱藏起來了瑞眼,其中導航欄,檢測欄棵逊,調(diào)試區(qū)三大區(qū)域的隱藏與顯示由頂欄最右側(cè)的三個按鈕控制伤疙,而調(diào)試區(qū)的兩個部分的顯示與隱藏則在調(diào)試區(qū)右下角控制。
認識 iOS 工程
簡單的熟悉了一下界面后辆影,就暫且不要再繼續(xù)深究每個按鈕的作用了徒像,讓我們把注意力轉(zhuǎn)移到左側(cè)的導航欄中,這里展示的是當前工程的目錄蛙讥。
系統(tǒng)為我們創(chuàng)建了兩個文件夾锯蛀,其中一個以當前的工程命名,另外一個叫做Product次慢,其下只有一個.app文件旁涤,這個就是我們的工程編譯完成后的應用文件翔曲。
重點在第一個文件夾下,接下來我們從程序運行的角度來認識一下這些文件劈愚。
大家應該知道在C語言中瞳遍,程序在運行之初會調(diào)用main函數(shù),因此我們先進入到main.m中瞧一瞧菌羽。
main.m
如圖所示掠械,在main.m文件中導入了兩個非常重要的頭文件
- UIKit/UIKit.h
- AppDelegate.h
其一是官方提供的iOS開發(fā)框架,我們?nèi)蘸髸敿毩私馑阍洌涠窃趯Ш綑谥锌吹降奈募?/p>
接下來便是一個main函數(shù)份蝴,在這之中只調(diào)用了一個方法
- UIApplicationMain
我們按住command,將光標移動到UIApplicationMain函數(shù)上氓轰,單擊左鍵。
此時會彈出一個菜單浸卦。
點擊Jump to Definition署鸡,即跳轉(zhuǎn)到定義(留意,這是一個常用操作)限嫌。
注意看UIApplicationMain上方的注釋靴庆,它提示了這個函數(shù)主要做的兩件事。
- 當principalClassName(即第三個參數(shù))為nil時怒医,NSPrincipalClass的值將從Info.plist中獲取炉抒,如果在那里面沒有定義NSPrincipalClass的值,那么它的值將從UIApplication類中獲取稚叹。
- 初始化delegate類焰薄。
目前我們只需要知道,應用在運行時扒袖,首先要從Info.plist文件中獲取某些配置塞茅,再初始化代理類,也就是main.m中傳入的AppDelegate季率。
Info.plist
Info.plist的本質(zhì)是一個XML文件野瘦,它包含了一系列應用運行相關(guān)的配置,暫時無需關(guān)注飒泻,我們來看AppDelegate類鞭光。
AppDelegate
AppDelegate.m下寫了一大堆代理回調(diào)方法,不要害怕泞遗,只需要一點點的英語基礎(chǔ)惰许,仔細看,每個回調(diào)方法的名稱都是程序運行周期中不同階段的名稱刹孔。有關(guān)程序運行周期的要點我們以后再提啡省,這里我們只需要知道可以在AppDelegate里處理程序生命周期各個階段的事務(wù)娜睛。
Assets.xcassets
用于管理和存放圖片資源,這里可不是簡單的文件夾哦卦睹,關(guān)于它的使用方法我們以后再提畦戒。
使用純代碼編寫頁面
我們已經(jīng)稍微了解了工程文件夾下的大部分文件,對于iOS開發(fā)的陌生感有沒有減少一點呢结序?還剩下Main.storyboard障斋,LaunchScreen.storyboard,以及ViewController這三個文件沒有提到徐鹤,不要著急垃环,馬上就可以上手了。
Xcode為我們提供了兩種頁面的編寫方式返敬,一種是可視化的方式遂庄,也就是在storyboard里通過拖拽控件進行頁面布局,另一種是使用純代碼編寫劲赠。
對于入門的iOS開發(fā)者涛目,我強烈建議從純代碼入手,這樣不僅利于自己的成長凛澎,而且純代碼開發(fā)對于團隊合作也十分有利霹肝,可視化開發(fā)可以在今后的學習中自行了解。接下來讓我們準備用純代碼開始塑煎。
第一步沫换,刪除Main.storyboard
在Main.storyboard上點擊右鍵,選擇delete最铁,彈出如下界面讯赏。
中間的按鈕(Remove Reference)代表僅解除文件和工程之間的關(guān)聯(lián),但文件本身還存在于工程文件夾中炭晒,右側(cè)的按鈕(Move to Trash)不僅會解除關(guān)聯(lián)待逞,還會將Main.storyboard扔進廢紙簍,因為我們肯定不需要Main.storyboard了网严,所以將它扔進廢紙簍吧识樱。
第二步,刪除工程中的主界面配置
點擊導航欄中的工程文件震束,找到右側(cè)的Main Interface怜庸,刪去框框里的Main。
第三步垢村,在AppDelegate.m里配置啟動頁面
來到AppDelegate.m下割疾,找到didFinishLaunchingWithOptions這個回調(diào)方法,意為程序完成啟動時嘉栓。
我們在這個方法里寫上如下三句話宏榕。
self.window = [[UIWindow alloc]initWithFrame:[UIScreen mainScreen].bounds];
self.window.rootViewController = [[ViewController alloc]init];
[self.window makeKeyAndVisible];
即
注意看到第二句話拓诸,我們將ViewController作為了程序的根視圖控制器,這意味著進入程序后看到的第一個視圖界面就是ViewController麻昼,那么就讓我們運行試試吧奠支。
運行工程
在Xcode左上角選擇運行的設(shè)備,這里我們選擇iPhone 6的模擬器抚芦,然后點擊最左側(cè)的運行按鈕倍谜,或者是使用command + R的組合鍵,程序就開始運行了叉抡。
運行成功~ 這里就是我們的ViewController界面尔崔,它還是一片漆黑,因為我們還什么都沒有寫褥民,但是可喜可賀季春,你已經(jīng)堅持做到這里來了,萬事開頭難轴捎,先休息或者回顧一下這一篇的知識點鹤盒,下一篇我們再來談一談什么是視圖控制器(UIViewController)