IOS 初級(jí)開發(fā)入門教學(xué)(一)介紹篇

目前移動(dòng)端開發(fā)市場(chǎng)上引導(dǎo)開發(fā)者追求技多不壓身弱匪,一個(gè)全棧開發(fā)者至少要懂后臺(tái)服務(wù)器、數(shù)據(jù)庫璧亮、Android萧诫、web、ios開發(fā)等枝嘶。一超多強(qiáng)”是指開發(fā)者先成為一門技術(shù)的專家然后掌握了解多門技術(shù)帘饶,這是一種好的發(fā)展趨勢(shì),另外群扶,這種技多不壓身我認(rèn)為當(dāng)開發(fā)者更適合發(fā)展成為Leader管理崗位及刻,隨著年齡慢慢變大镀裤,成家立業(yè)后,基層單一碼農(nóng)已晉升之路受到阻礙了缴饭,作為項(xiàng)目經(jīng)理或總監(jiān)的時(shí)候暑劝,需要你能夠“多才多藝”,才能管理好帶領(lǐng)好你的團(tuán)隊(duì)茴扁。這一篇將掀起 IOS 開發(fā)之路铃岔,點(diǎn)關(guān)注不迷路。 (iOS資料大全)

可跳過介紹峭火,直接上手敲代碼: IOS 新手入門實(shí)現(xiàn)第一個(gè)HelloWorld項(xiàng)目

什么是iOS
??iOS是蘋果公司為它的移動(dòng)設(shè)備(iPhone毁习、iPad、iWatch等)開發(fā)的移動(dòng)操作系統(tǒng)卖丸。

iOS發(fā)展史
2007年蘋果發(fā)布iPhone Runs OS X
2008年更名iPhone OS
2010年更名iOS
2012年WWCD 2012上發(fā)布iOS 6
2013年WWCD 2013上發(fā)布iOS 7
2014年WWCD 2014上發(fā)布iOS 8和Swift
2015年WWCD 2015上發(fā)布iOS 9和Watch OS

IOS開發(fā)語言
ios目前流行兩種開發(fā)語言:Objective-C 和 Swift 纺且。前者有C語言基礎(chǔ)者上手會(huì)容易些;后者Swift是iOS/Mac未來開發(fā)的主要語言稍浆,無論從編程思想還是從api書寫载碌,都賞心悅目,但缺點(diǎn)是沒有Objective更穩(wěn)定衅枫,且事實(shí)上去面試一些公司都要求的是用 Objective-C嫁艇,只是把 Swift 作為學(xué)習(xí)語言。

蘋果設(shè)備屏幕尺寸
設(shè)備 屏幕尺寸 分辨率 坐標(biāo)點(diǎn)
iPhone 3和3s 3.5英寸 320480 320480
iPhone 4和4s(支持Retina) 3.5英寸 640960 320480
iPhone 5和5s(支持Retina) 4英寸 6401136 320568
iPhone 6 4.7英寸 7501334 375667
iPhone 6 Plus 5.5英寸 10801920 414736
iPad 1和2(不支持Retina) 9.7 7681024 7681024
iPad 3和4(支持Retina) 9.7 15362048 7681024
iPad Air 9.7 15362048 7681024
iPad Mini(不支持Retina) 7.9 7681024 7681024
iPad Mini2(支持Retina) 7.9 15362048 7681024

系統(tǒng)基礎(chǔ)框架
?1弦撩、ios系統(tǒng)架構(gòu)可以分為如圖所示的四層步咪,Cocoa Touch框架的地位不言而喻。

請(qǐng)?zhí)砑訄D片描述

Core OS和Core Service提供了底層支持益楼,包括文件訪問猾漫、網(wǎng)絡(luò)協(xié)議、低級(jí)數(shù)據(jù)類型等感凤。
Media提供了基本繪圖和音視頻的支持悯周,包括OpenGL、Quartz陪竿、Core Audio和Core Animation等禽翼。
Cocoa Touch包括了開發(fā)使用的大部分API,主要由Foundation(文件訪問族跛、網(wǎng)絡(luò)操作捐康、數(shù)據(jù)和容器類型)和UIKit(UI控件、控制器等)兩個(gè)部分構(gòu)成庸蔼。在進(jìn)行App開發(fā)時(shí)解总,應(yīng)該由上到下使用這些技術(shù)層次,越上層的API封裝得越好姐仅,開發(fā)越方便花枫,但能自己發(fā)揮的東西越少刻盐。
2、對(duì)比劳翰,android系統(tǒng)架構(gòu):
Android其本質(zhì)就是在標(biāo)準(zhǔn)的Linux系統(tǒng)上增加了Java虛擬機(jī)Dalvik敦锌,并在Dalvik虛擬機(jī)上搭建了一個(gè)JAVA的application framework,所有的應(yīng)用程序都是基于JAVA的application framework之上佳簸。

也分為四個(gè)層乙墙,從高層到低層分別是應(yīng)用程序?qū)印?yīng)用程序框架層生均、系統(tǒng)運(yùn)行庫層和linux核心層听想。
UIKit繼承結(jié)構(gòu)

實(shí)現(xiàn)App開發(fā)中的用戶界面首先要從UIResponder及其子類開始研究,當(dāng)然整個(gè)過程會(huì)覆蓋整個(gè)UIKit框架马胧,比如UIColor(顏色)汉买、UIEvent(事件)、UIFont(字體)佩脊、UIGestureRecognizer(手勢(shì)識(shí)別)蛙粘、UIImage(圖像)、UIScreen(屏幕)等諸多內(nèi)容威彰。
UIView和UIWindow
1出牧、UIWindow和UIView的繼承關(guān)系
??UIWindow是UIView的子類。UIView定義了一個(gè)矩形區(qū)域以及操作這個(gè)矩形區(qū)域中內(nèi)容的編程接口歇盼,除此之外UIView還要處理運(yùn)行時(shí)區(qū)域中內(nèi)容的交互行為(繪圖舔痕、動(dòng)畫和事件處理)。從上面的圖中我們也可以看出旺遮,我們要使用的控件都是UIView的子類型。視圖會(huì)按層次結(jié)構(gòu)排列盈咳,位于視圖層次結(jié)構(gòu)頂端的就是應(yīng)用窗體耿眉。任何應(yīng)用都有且僅有一個(gè)UIWindow對(duì)象,UIWindow對(duì)象就像一個(gè)容器鱼响,負(fù)責(zé)包含應(yīng)用中的所有視圖鸣剪。應(yīng)用需要在啟動(dòng)時(shí)創(chuàng)建并設(shè)置UIWindow對(duì)象,然后為其添加其他的視圖丈积,就像上面的代碼呈現(xiàn)的那樣筐骇。加入窗口的視圖會(huì)成為該窗口的子視圖。子視圖也可以有自己的子視圖從而構(gòu)成一個(gè)以UIWindow作為根的視圖層次結(jié)構(gòu)(樹形結(jié)構(gòu))江滨。

2铛纬、UIView的基本屬性和方法
frame屬性:設(shè)置視圖的坐標(biāo)和尺寸
backgroundColor屬性:設(shè)置視圖的背景色
window屬性:視圖所在的窗口對(duì)象
-addSubview方法:添加子視圖
Xcode創(chuàng)建iOS項(xiàng)目
??啟動(dòng)Xcode在歡迎頁中選擇"Create a new Xcode project"。在項(xiàng)目創(chuàng)建向?qū)е羞x擇iOS->Application->Single View Application然后點(diǎn)擊下一步唬滑。接下來需要設(shè)置項(xiàng)目名稱告唆、組織名稱棺弊、組織標(biāo)識(shí)、開發(fā)語言(OC或Swift)和設(shè)備(iPhone擒悬、iPad或Universal)模她。下一步之后選擇項(xiàng)目的位置就可以點(diǎn)擊"Create"完成項(xiàng)目創(chuàng)建了。參考我的下一個(gè)博文:IOS新手入門第一個(gè)HelloWorld項(xiàng)目
熟悉開發(fā)工具Xcode

IDE布局說明:
Xcode的上方是工具欄懂牧,有很多工具按鈕侈净。Xcode的左側(cè)是導(dǎo)航區(qū)域,包括:項(xiàng)目導(dǎo)航僧凤、符號(hào)導(dǎo)航畜侦、查詢導(dǎo)航、問題導(dǎo)航拼弃、測(cè)試導(dǎo)航夏伊、調(diào)試導(dǎo)航、斷點(diǎn)導(dǎo)航吻氧、報(bào)告導(dǎo)航溺忧,可以使用Command+1-8的數(shù)字鍵在8種導(dǎo)航之間切換。Xcode的中間是編輯器區(qū)域盯孙;中間的下面是調(diào)試區(qū)域鲁森。Xcode的右側(cè)上方是檢查器(審查)區(qū)域;右側(cè)下方是各種庫的區(qū)域振惰。

Xcode常用功能和快捷鍵 (*實(shí)用)
Command+[ -> 代碼塊左移
Comamnd+] -> 代碼塊右移
Tab -> 接受代碼自動(dòng)完成提示
Esc -> 顯示代碼提示
Command+B -> 編譯
Command+R -> 運(yùn)行
Control+F -> 前移光標(biāo)
Control+B -> 后移光標(biāo)
Control+P -> 光標(biāo)移到上一行
Control+N -> 光標(biāo)移到下一行
Control+A -> 光標(biāo)移到行首
Control+E -> 光標(biāo)移到行尾
Control+T -> 交換光標(biāo)左右字符
Control+D -> 刪除光標(biāo)右邊的字符
Control+K -> 刪除本行
Control+L -> 將光標(biāo)所在位置置于窗口中央
按住Option雙擊鼠標(biāo) -> 搜索文檔
Command+Y -> 激活/禁用斷電
Command+Control+Y -> 繼續(xù)運(yùn)行
F6 -> 單步跳過
F7 -> 單步跳入
F8 -> 跳出
AppDelegate與ViewController的作用與區(qū)別:
AppDelegate是你整個(gè)應(yīng)用的一個(gè)代理歌溉。當(dāng)你應(yīng)用啟動(dòng)的時(shí)候,最先被調(diào)用到的就是你AppDelegate中的- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions方法骑晶。你可以在這個(gè)方法中做些全局初始化痛垛。

一般設(shè)計(jì)準(zhǔn)則是盡量保持AppDelegate干凈、簡潔桶蛔。

AppDelegate中可以做應(yīng)用退出后臺(tái)或從后臺(tái)返回到前臺(tái)的一些處理匙头。

ViewController一般作為根視圖控制器,把顯示相關(guān)的都放到這里面去做仔雷。

虛擬機(jī)HOME鍵:
由于Xcode自帶的虛擬機(jī)不像真機(jī)那樣有一個(gè)可以用手指按的Home鍵回到主界面的實(shí)體按鈕蹂析,所以需要用到快捷鍵:
command + shift + h (回到主界面)
command + shift + hh (可滑動(dòng)清理應(yīng)用)

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市碟婆,隨后出現(xiàn)的幾起案子电抚,更是在濱河造成了極大的恐慌,老刑警劉巖竖共,帶你破解...
    沈念sama閱讀 222,104評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件蝙叛,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡公给,警方通過查閱死者的電腦和手機(jī)甥温,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,816評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門锻煌,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人姻蚓,你說我怎么就攤上這事宋梧。” “怎么了狰挡?”我有些...
    開封第一講書人閱讀 168,697評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵捂龄,是天一觀的道長。 經(jīng)常有香客問我加叁,道長倦沧,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,836評(píng)論 1 298
  • 正文 為了忘掉前任它匕,我火速辦了婚禮展融,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘豫柬。我一直安慰自己告希,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,851評(píng)論 6 397
  • 文/花漫 我一把揭開白布烧给。 她就那樣靜靜地躺著燕偶,像睡著了一般。 火紅的嫁衣襯著肌膚如雪础嫡。 梳的紋絲不亂的頭發(fā)上指么,一...
    開封第一講書人閱讀 52,441評(píng)論 1 310
  • 那天,我揣著相機(jī)與錄音榴鼎,去河邊找鬼伯诬。 笑死,一個(gè)胖子當(dāng)著我的面吹牛巫财,可吹牛的內(nèi)容都是我干的盗似。 我是一名探鬼主播,決...
    沈念sama閱讀 40,992評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼翁涤,長吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼桥言!你這毒婦竟也來了萌踱?” 一聲冷哼從身側(cè)響起葵礼,我...
    開封第一講書人閱讀 39,899評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎并鸵,沒想到半個(gè)月后鸳粉,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,457評(píng)論 1 318
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡园担,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,529評(píng)論 3 341
  • 正文 我和宋清朗相戀三年届谈,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了枯夜。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,664評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡艰山,死狀恐怖湖雹,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情曙搬,我是刑警寧澤摔吏,帶...
    沈念sama閱讀 36,346評(píng)論 5 350
  • 正文 年R本政府宣布,位于F島的核電站纵装,受9級(jí)特大地震影響征讲,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜橡娄,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,025評(píng)論 3 334
  • 文/蒙蒙 一诗箍、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧挽唉,春花似錦滤祖、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,511評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至棘劣,卻和暖如春俏让,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背茬暇。 一陣腳步聲響...
    開封第一講書人閱讀 33,611評(píng)論 1 272
  • 我被黑心中介騙來泰國打工首昔, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人糙俗。 一個(gè)月前我還...
    沈念sama閱讀 49,081評(píng)論 3 377
  • 正文 我出身青樓勒奇,卻偏偏與公主長得像,于是被迫代替她去往敵國和親巧骚。 傳聞我的和親對(duì)象是個(gè)殘疾皇子赊颠,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,675評(píng)論 2 359

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

  • 第1章 iOS基礎(chǔ) 1.1 iOS發(fā)展歷史 1.iPhone OS 1.0 2007 iPhone Runs OS...
    怪客半閱讀 1,337評(píng)論 0 1
  • 1、禁止手機(jī)睡眠[UIApplication sharedApplication].idleTimerDisabl...
    DingGa閱讀 1,117評(píng)論 1 6
  • 1,Search Bar 怎樣去掉背景的顏色(storyboard里只能設(shè)置background顏色劈彪,可是發(fā)現(xiàn)cl...
    以德扶人閱讀 2,369評(píng)論 2 50
  • 16宿命:用概率思維提高你的勝算 以前的我是風(fēng)險(xiǎn)厭惡者竣蹦,不喜歡去冒險(xiǎn),但是人生放棄了冒險(xiǎn)沧奴,也就放棄了無數(shù)的可能痘括。 ...
    yichen大刀閱讀 6,059評(píng)論 0 4
  • 公元:2019年11月28日19時(shí)42分農(nóng)歷:二零一九年 十一月 初三日 戌時(shí)干支:己亥乙亥己巳甲戌當(dāng)月節(jié)氣:立冬...
    石放閱讀 6,888評(píng)論 0 2