亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

iOS開發學習階段過程簡述

2019-11-14 19:27:30
字體:
來源:轉載
供稿:網友

下面就簡單介紹一下我iOS開發的感受,也是學習iOS開發的一個體系架構。

1 iOS開發環境

1.1 開發環境

標準的配置是Mac OS X + Xcode。

MacOSX的話首選用蘋果電腦,macmini最便宜只要4000多就好了然后自己配一個顯示器,macbookPRo 也可以,不推薦使用macbookair。還有很多人使用黑蘋果或者虛擬機甚至在windows上裝一些工具都是不可取的。

另外官翻版的也可以去買,很便宜就可以買到好機子,官翻版。

Xcode這個開發工具自己繼承了iphoneSDK,所以不用單獨下載SDK。調試的模擬器可以從Xcode里面下載不同版本的模擬器。

1.2 賬號 證書 上架 等

iOS調試真機是需要證書的,所以這個時候需要從申請一個iDP賬號,不過僅僅需要調試的話,某寶上有很多賣20幾塊的證書。應用上傳appstore的話有很多種方法,證書分為企業和個人,個人的可以到appstore,企業是不可以的。

2 Obejct-C語言

Object-C語言通常寫作objective-c或者obj-c,是根據C語言所衍生出來的語言,繼承了C語言的特性,是擴充C的面向對象編程語言, 它能夠和C、C++混合編程。OC是一個編譯型的語言,通過gcc編譯器把object-c代碼編譯成機器指令。關于基本概念可以參考,十分鐘讓你明白Objective-C的語法(和java、C++的對比) 。

2.1動態特性

Object-C具備一些動態特性,包括動態類型、動態綁定、動態加載,也就是Object-C在運行時才能知道一些對象的類型以及所調用的方法。

2.2內存管理

OC是使用引用計數原則,現在OC引入ARC(自動引用計數原則)。引用計數有幾個規則,一是誰創建誰釋放,通過alloc、new和copy創建對象, 然后調用release或者autorelease去釋放對象,第二是,除了alloc、new和copy之外創建的對象都是autorelease的, 第三誰retain了,誰釋放。

2.3 一些語言特性

OC首先是只有單一繼承,沒有多重繼承。

屬性訪問,@property加上@synthesize使用后能夠自動生成setter和getter方法。

category,中文一般叫做類別,他能夠為現有的類提供新的方法,他將類的實現分散到多個不同的文件或框架中,創建對私有方法的前向引用,向對象添加非正式協議。

block語法,塊,他通常代表小段的自包含的代碼片段,因此,他們封裝為可以并行執行的工作單元額外有用,還可以用于在集合中進行遍歷,或者在其他操作 完成時作為回調。塊代替傳統回調函數的意義有兩個:一是他們允許在方法實現的調用中就近寫入代碼,而且塊經常被作為框架中一些方法的參數;二是他們可以訪 問本地變量。

OC中有很多類是以NS開頭的,那是cocoa層里面Foundation框架的類庫。

3 iOS開發

3.1 iOS操作系統簡介

iOS的系統架構分為四個層次:核心操作系統層(Core OS layer)、核心服務層(Core Services layer)、媒體層(Media layer)和可觸摸層(Cocoa Touch layer)。每層都包含很多系統框架,例如著名的UIKit框架就是在cocoa touch。

3.2 常用的設計模式

最基礎的是MVC模式,就是把項目分為Model、View和Controller三層進行管理。

常用的還有代理模式,通過協議和block實現。觀察者模式的話體現在了KVO和notification上了。target-action模式是OC中 非常常見的對象之間方法調用的方式,一般在和UI打交道的時候處理各種GUI上的事件會利用到這種模式,他通常會有一個target作為消息的接收者。單 例模式,使得單例對象在項目中只會創建一次。工廠模式,是一個類族的概念,很符合敏捷軟件開發的開放封閉原則。關于各種設計模式,可以看卡奴達摩的專欄。

3.3 Interface Builder和Storyboard

一般寫iOS的UI有三種方式。xib,Storyboard以及代碼創建。

我之前自學用了一會的xib,之后一直用代碼創建,代碼更容易區做多語言版本,而且

xib啟動需要事件比用代碼直接寫慢,xib文件比代碼建立UI文件也大。

具體對比可以看喵神的博客代碼手寫,xib和StoryBoard間的博弈

3.4 常用系統框架和第三方庫

UIKit是最常用的框架,主要是用來做UI的。包括視圖UIButton、UILabel,控制器UIViewController等,還有一些觸摸事件、手勢等。

QuartzCore、CoreAnimation框架是一些繪圖、動畫的類庫。

第三方庫的話,可以查看github上object -c的倉庫排名,Search · GitHub 。

3.5數據存儲

iOS數據存儲主要有四種方式。

NSKeyedArchiver,采用歸檔的形式來保存數據,該數據對象需要遵守NSCoding協議。歸檔形式保存數據只能一次性歸檔保存以及一次性解壓,只能針對小量誰,而且數據操作笨拙,即如果想改動數據的某一小部分,需要解壓整個數據或者歸檔整個數據。

NSUserDefaults,用來保存應用程序設置和屬性。

第三種,Write寫入文件。

第四種,相對前兩種更為復雜,但也最好用。SQLite,可以自己封裝,也可以使用FMDataBase等第三方封裝庫,還可以使用系統的CoreData。

3.6數據通信

iOS的數據通信有幾種方式,應用層的HTTP,以及傳輸層的封裝TCP或者UDP的socket接口,還有就是藍牙通訊。

HTTP的網絡服務一般可以用post、get或者soap等方式請求數據,可以用系統的NSURL也可以用第三方類庫(MKNetWorkKit、AFNetWorking),這兩種類庫都可以做緩存,數據交換的格式一般有JSon和xml。

socket可以通過c語言的socket和CoreFoundation框架的CFNetwork實現,也可以用第三方類庫asyncsocket。

藍牙4.0的話使用的是CoreBluetooth框架。

3.7多線程編程

iOS的多線程有NSThread、NSOperation以及GCD。NSThread比其他兩個輕量級,但是需要自己管理線程的生命周期,線程同步。 線程同步對數據加鎖會有一定的系統開銷。operation則不需要關心線程管理,GCD是一個替代NSThread和operation的技術。

3.8iPad開發

iPad和iPhone開發是異曲同工,但是不要試圖去適配iPad和iPhone,因為他們的UI差別太大。

3.9其他

iOS的地圖是使用MapKit框架,定位用CoreLocation。

iOS有一個云端機制iCloud,iOS還有一個推送機制,可以由服務器推送消息到手機應用程序,iOS還可以做本地化。

iOS有一些內置的傳感器可以利用起來編程,比如三軸加速傳感器,用來測加速度的,還有陀螺感應器,測角速度,感知移動的。

關于iOS的相機、相冊以及音視頻都有相應的類庫。

4 工具

第一是多人協作的問題,你可以用svn或者git,git是比較流行的,但是大多數的公司還在用svn;

第二,iOS的數據持久化有很多方案,最高效的就是sqlite,在mac上有很多sqlite的可視化管理工具,我用的是sqlitemanager。

第三,關于查看模擬器或者真機的沙盒內容,模擬器可以使用SimPholders,真機可以用ifunbox。

第四,屏幕取色工具,sip。

第五,另外xcode也可以安裝很多輔助工具,例如,格式化xcode代碼的ClangFormat,第三方庫管理工具CocoaPods,壓力測試工具uiautomonkey。

第六,移動開發有一些常用的平臺的,比提供社會化分享、統計分析等的友盟,sharesdk;內測平臺fir.im,蒲公英;云測平臺testin;廣告平臺google的admob

5 書籍 網站推薦

關于看書,對于某一個東西入門的化,其實不適合看書,或者你想看隨便挑一本入門的書就跟著看就好了。

code4appiOS開發社區 – 開源中國社區,cocoachina是國內常用的三大代碼庫網站,國外我會上版本控制的網站github,并且歡迎關注我的github,coderyi

這里有一個別人整理的iOS學習資料,

馬上著手開發 iOS 應用程序 (apple官方整理),

Aufree/trip-to-iOS · GitHub(資料最全) ,

iOS資源 – Code4App.com ,

iOS開發60分鐘入門 ,

iOS開發從新手到上架,

6 iOS學習路線圖

最后附贈一張傳智播客的iOS學習路線圖 ,這一些東西只是iOS開發的冰山一角,哪一東西要做好都要學很多東西,學好最重要的就是你對他的熱情,路漫漫其修遠兮,吾將上下而求索。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲精品乱码久久久久久按摩观| 欧美性少妇18aaaa视频| 国产精品爱啪在线线免费观看| 日日噜噜噜夜夜爽亚洲精品| 日韩欧美成人免费视频| 最新91在线视频| 美女国内精品自产拍在线播放| 欧美视频一二三| 国产香蕉一区二区三区在线视频| 欧美日韩成人在线视频| 欧美成人久久久| 美日韩精品免费视频| 欧美精品情趣视频| 久久男人av资源网站| 26uuu国产精品视频| 欧美日韩在线视频一区| 亚洲视频网站在线观看| 久久久极品av| 在线亚洲男人天堂| 欧美日韩福利在线观看| 欧美性生交大片免费| 日韩成人激情视频| 97久久国产精品| 久久国产天堂福利天堂| 成人a在线视频| 国产精品久久久久久久av电影| 亚洲一区二区三区777| 国产精品人成电影在线观看| 91精品视频在线播放| 亚洲欧美在线一区二区| 国产91精品视频在线观看| 伊人久久久久久久久久| 午夜免费日韩视频| 久久久人成影片一区二区三区| 亚洲精品久久久久久久久久久| 亚洲欧美中文日韩在线| 91夜夜揉人人捏人人添红杏| 国产97在线亚洲| 亚洲精品国产美女| 性色av一区二区三区| 在线观看亚洲区| 精品久久久视频| 91精品国产91久久久| 精品无码久久久久久国产| 亚洲人成在线一二| 日韩专区在线播放| 亚洲一区第一页| 一本一本久久a久久精品综合小说| 日韩免费在线观看视频| 性欧美激情精品| www国产亚洲精品久久网站| 在线观看日韩av| 成人久久精品视频| 色偷偷噜噜噜亚洲男人| 欧美极品少妇xxxxⅹ裸体艺术| 青青久久av北条麻妃海外网| 亚洲国产私拍精品国模在线观看| 91在线视频成人| 亚洲在线观看视频| 一色桃子一区二区| 午夜精品久久久久久久99热| 国产网站欧美日韩免费精品在线观看| 精品国产老师黑色丝袜高跟鞋| 国产成人精品亚洲精品| 亚洲伊人一本大道中文字幕| 最好看的2019的中文字幕视频| 国产69精品久久久久久| 欧美精品免费播放| 国产精品极品美女在线观看免费| 亚洲国产一区二区三区四区| 国产精品va在线播放我和闺蜜| 欧美性猛交xxxx免费看漫画| 欧美另类极品videosbestfree| 2019中文字幕全在线观看| 国产精品毛片a∨一区二区三区|国| 欧美不卡视频一区发布| 国产日韩av高清| 国产精品亚洲美女av网站| 一区二区国产精品视频| 亚洲成人久久久| 久久精品男人天堂| 日韩av在线高清| 亚洲va久久久噜噜噜久久天堂| 九九久久久久久久久激情| 2018国产精品视频| 日韩a**站在线观看| 欧美精品九九久久| 国产国产精品人在线视| 久久在线免费视频| 中文字幕亚洲精品| 国产成人精品电影久久久| 欧美一区二区三区四区在线| 国产91精品视频在线观看| 精品成人国产在线观看男人呻吟| 国产精品亚洲自拍| 日韩一区二区欧美| 96精品视频在线| 91色视频在线观看| 欧洲成人免费视频| 久久久久久久成人| 精品少妇一区二区30p| 91美女片黄在线观看游戏| 欧美黑人性生活视频| 亚洲最新av网址| 精品国产乱码久久久久久天美| 77777少妇光屁股久久一区| 最近2019年中文视频免费在线观看| 精品福利视频导航| 精品久久久久久久大神国产| 欧美大片大片在线播放| 国产ts人妖一区二区三区| 欧美一区二区.| 欧美日韩福利在线观看| 97国产真实伦对白精彩视频8| 久久精品成人动漫| 欧美亚洲成人xxx| 国产精品草莓在线免费观看| 久久久久久久久亚洲| 国产国语videosex另类| 亚洲www在线观看| 亚洲性视频网站| 2020欧美日韩在线视频| 久久亚洲精品一区二区| 亚洲欧美日本另类| 成人激情视频在线观看| 国产精品电影久久久久电影网| 茄子视频成人在线| 欧美日韩亚洲视频一区| 午夜免费日韩视频| 日韩精品视频中文在线观看| 亚洲欧美精品伊人久久| 欧美与黑人午夜性猛交久久久| 国产精品视频xxx| 九九精品在线播放| 日韩电影网在线| 欧美成人一区在线| 亚洲精品黄网在线观看| 久久视频在线直播| 久久久爽爽爽美女图片| 精品国产一区av| 成人欧美一区二区三区黑人| 国产一区欧美二区三区| 日本19禁啪啪免费观看www| 91超碰中文字幕久久精品| 色妞色视频一区二区三区四区| 神马久久桃色视频| 欧美大全免费观看电视剧大泉洋| 亚洲免费伊人电影在线观看av| 日韩av色综合| 欧美激情成人在线视频| 欧美成人精品不卡视频在线观看| 国产精品亚洲视频在线观看| 成人看片人aa| 国产精品久久久久久久久久免费| 国产午夜精品麻豆| 亚洲男人天堂久| 亚洲最大av网站| 在线精品视频视频中文字幕| 日韩黄色av网站| 精品亚洲一区二区三区在线观看| 91高清在线免费观看| 青青草一区二区| 在线不卡国产精品| 欧美日韩中文字幕日韩欧美|