最近由於公司的一些緣由,須要涉及iOS開發。在坑裏摸爬滾打了2周以後,就寫個入門心得吧。
在一切的一切開始以前,你要先會Objective-C
或者Swift
(喜歡哪一個用哪一個,你開心就好)。程序員
而後,要準備一臺OS X
的電腦,並安裝好Xcode
,而後一切就能夠開始了。app
打開Xcode
,而後新建一個項目,看到的界面是這樣的(其實和Android Studio
的模式很類似啦)佈局
看看幾個項目,你大概也理解了分別要建立怎麼樣的應用,它提供一個模板,而後能夠快速建立出某種結構的程序。大部分狀況的應用是屬於Tabbed Application
,也就是帶Tab
的程序。spa
建立好一個應用後,咱們能看到AppDelegate
,storyboard
,plist
之類的文件。這些分別是啥呢?code
我來個簡單幹脆的映射,方便理解,可是不精準,若有錯誤,感謝指出xml
iOS | Android | 備註 |
---|---|---|
Info.plist |
AndroidManifest.xml |
記錄應用程序的一些元數據 |
AppDelegate |
Application |
管理整個Application 的生命週期 |
ViewController |
Activity |
負責管理View ,管理整個應用程序的交互 |
各種storyboard 文件 |
各種xml 文件 |
定義一些佈局,一些iOS程序員習慣在代碼裏寫佈局,可能用不到storyboard |
Android
程序始於Application
的onCreate
方法,iOS
始於AppDelegate
的application didFinishLaunchingWithOptions
方法,這裏惟一不一樣的是Android
的launch activity
只能使用AndroidManifest.xml
指定,可是iOS
可使用代碼去指定。blog
self.window.rootViewController = xxxx;
Android
中的Activity
和View
並無強制關聯,可是iOS
中的UIViewController
默認都帶一個View
,你能夠把這個認爲是Activity
中Window
的decorView
,是全部View
的父容器。當你生成好一個UIViewController
以後,你往它的成員變量view
中添加你的視圖便可,若是你是從storyboard
中生成的UIViewController
,那你構建的View
就會自動添加進來。生命週期
Android
一切初始化的地方,咱們習慣在onCreate
中使用setContentView
以後,而後用findViewById
獲取到控件的實例,爲控件綁定一些監聽器,而iOS
中,咱們開始的地方,大部分是UIViewController
的viewDidLoad
方法,咱們使用代碼生成咱們要的控件,同時爲控件綁定事件,或者使用storyboard
的Outlet
系統綁定到咱們的類成員變量上,並生成事件監聽。事件
全部故事,都是從這裏開始對吧?ip
接下去要作的事就是根據用戶和控件的交互,在視圖上作出相應的反饋便可。
Android
的跳轉使用Intent
從一個Activity
跳轉到另一個Activity
。
而iOS
中,咱們在跳轉以前,要作的事情就是生成咱們的目標UIViewController
,而後使用咱們想要的方式跳轉。 iOS
爲咱們提供了幾種模式跳轉,最多見的有2種,使用navigationController
和pushModal
,大部分的iOS
程序,頂部都有一個導航條,它由一個更高級抽象的NavigationController
進行控制,就和Android
中的Task
概念相似,咱們每次pushViewController
,就會在它的棧中壓入一個ViewController
。而pushModal
看名字就知道,是彈出一個模態框,它的返回操做通常只有關閉一個按鈕,具體使用哪一種方式,須要和產品的概念相呼應才行。
UI的相關介紹就到這,接下去有時間,咱們談談Android
中的Handler
在iOS
中以什麼樣的方式存在