ios學習規劃

摘要

我看很多人在開始投向ios開發的懷抱,也有很多問我該怎么學ios,我也想單憑自己的學習來總結下ios學習的過程和規劃,希望是有幫助的,而不是誤導了大家。

前言:我看很多人在開始投向ios開發的懷抱,也有很多問我該怎么學ios,我也想單憑自己的學習來總結下ios學習的過程和規劃,希望是有幫助的,而不是誤導了大家。

1.準備

1)準備?Mac,mac是必須的,可以選擇的是mac mini(最便宜的,不過要自配顯示器)、mac book(有三種,推薦pro)、imac(最合適的開發設備,就是太貴)、黑蘋果(最實惠,最難搞,學習推薦遠景

2)準備iphone,手機盡量要有,不然模擬器很多東西都模擬不出來的(比如攝像頭,重力什么的),如果真買不起iphone,ipod touch 也是可以代替的

3)開發者賬號,開發者賬號是為了能真機調試,不然你有手機也不能調試,可以到官網買一個(一年688元人民幣,可以一群人一起買),配置下證書,買了賬號還可以發布你的應用。

4)在app store 下載xcode開發工具

2.入門(初級)

1)基本語法

基本語法看看基礎書和視頻就可以了,如果是自己學習的話可以直接研究swift,如果是為了找工作和公司認可的話還是建議要學objective-c。(下面都以oc為例)

2)界面學習(紅色重點)

ios的UI一般有三種方式:手寫?布局、xib、storyboard

常用的控件:UIView、UIButton、UILabel、UIImageView、UITextFiled、UITableView、UITableViewCell

ios的MVC模式:M(數據層單獨創建Model、Info)、V( 分散在xib、storyboard、view、UIViewController)、C(UIViewController)

UITableView總結

頁面切換結構:UINavgationController(pushViewController)、UITabbarViewController(setSelectedViewContoller)、UIViewController(PresentViewController)、UIView(AddSubView)

3)持久化存儲數據

FMDB(sqlite)、NSUserDefault

4)數據結構

NSArray(數組)、NSDictionary(字典)、NSMutableArray(可變數組)、NSMutableDictonary(可變字典)、NSData(二進制數據)、NSDate(時間)、NSString(字符串)、double、int、float

5)層間回調

NSNotificationCenter(通知)、Delegate(協議)、Block(塊)

ios 異步回調選擇

6)網絡(學會使用)

ASINetWork、AFNetWorking

ios http 上傳圖片

7)靜態數據、全局數據、外部定義數據、宏定義、常量數據

8)多看別人的代碼,github

推薦幾個我自己寫的,合適入門的應用源碼:

rando(圖片分享):http://git.oschina.net/jonear/Rando

消消豆(小游戲):http://git.oschina.net/jonear/LianLianDots

Demo(一些實例):https://github.com/Jonear/iosDemo

9)推薦書:《Objective-C 基礎教程》

3.進階(中級)

1)界面學習

常用的控件(補充):UICollectionView、UITextView、UIScrollView、UIActivityIndicatorView、UISegmentedControl、UIPageControl、UISlider、UISwitch、UIProgressView、UIWebView、UIMapView、UISearchBar、UIWindow

手勢:touchBegin、touchMove、touchEnd、UIGestureRecognizer(tap/pan/long)、搖一搖

MVC:學習層級結構,層級調用、搭建框架

app通知:UIApplicationDidEnterBackgroundNotification等(UIApplication.h)

自動布局:autoLayout、autoResizing、code By ScreenSize

2)xcode快捷鍵熟悉

3)圖片處理(切圓、濾鏡、縮放等)

ios圓角圖片的實現》《ios圖片拉伸》《UIImageView中圖片的大小縮放

4)VC、view加載結構和過程(viewWillAppear\viewWillDisappear\viewdidload)

5) 多線程與安全(NSThead、GCD、NSOpration)《ios多線程總結

6)內存管理(ARC、autoreleasepool、@property)

7)持久化存儲數據(補充)

coreData、文件、cSqlite、plist

8)分類(類別)、常用分類庫(BFKit

9)網絡(補充)

NSUrlConnection、TCP/UDP

網絡數據結構:json、xml,解析和生成

學習第三方庫源碼結構:ASI、AF

10)強化學習UITableView(自定義Cell,重用優化)

11)性能調試工具 Instruments

12)字符串處理(剪切、匹配、反轉等)

13)動畫(UIView動畫,UILayer動畫) 《ios隱性動畫

14)內外部推送處理、推送證書、發布證書

15)語音視頻播放、錄制、處理

16)毛玻璃、高斯模糊(FXBlurView、UIBlurEffect)

17)多看第三方庫的代碼《記錄ios第三方庫

18)推薦書:《Effective Object-C》

4.熟練(高級)

1)界面學習:(補充)

手勢沖突處理、UIWebView js交互、MVC結構搭建和優化

2)runtime(非常重要)

3)runloop

4)逆向工程分析

5)MRC性能管理

6)多線程優化、隊列、鎖優化

7)網絡結構、底層協議、安全(加解密方法、https)

8)keychain

9) 音視頻處理(裁剪,合成、除噪、濾鏡)GPUImage、直播、格式轉換

10)高階動畫(貝塞爾、阻尼、正弦RBBAnimationpop

11) 數據統計,埋點(方案、優化)

12)即時通信(方案、網絡、刷新)

13)編寫SDK、xcode插件、FrameWork

14)apple ?watch

15) CGContextRef 繪圖

16)多看官方貼:https://developer.apple.com/library/prerelease/ios/navigation/

17)core、coreText、coreImage...

18)推薦書:《ios逆向工程》
原文地址:iOS學習規劃?


最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。