AVFoundation可以用它來掃描二維碼
MediaPlayer和AVPlayer播放影片
CoreLocation ,蘋果在不允許使用第三方庫進行定位,定位框架,配置NSLocationWhenInUseUsageDescription(前臺定位)和NSLocationAlwaysUsageDescription(前后臺定位)
用于地圖展示,例如大頭針,路線、覆蓋層展示等,百度地圖,谷歌地圖
Core Animation是直接作用在CALayer上的(并非UIView上)非常強大的跨Mac OS X和iOS平臺的動畫處理API,Core Animation的動畫執(zhí)行過程都是在后臺操作的,不會阻塞主線程
萬事萬物皆對象,對象是屬性及其操作的封裝體
plist,NSKeyedArchiver(歸檔和解歸檔),SqLite(增刪改查,F(xiàn)MDBatabase),coreData(實體,NSManagedObject)
線程對比(子線程處理數(shù)據(jù),主線程更新UI)
1. NSThread(動態(tài)、靜態(tài)、隱式實例化)
每個NSThread對象對應(yīng)一個線程,真正最原始的線程。
1)優(yōu)點:NSThread 輕量級最低,相對簡單。
2)缺點:手動管理所有的線程活動,如生命周期、線程同步、睡眠等,控制線程順序比較難,同時線程總數(shù)無法控制,線程同步對數(shù)據(jù)的加鎖會有一定的系統(tǒng)開銷。
2. NSOperation(NSOperation是對GCD的封裝,面向?qū)ο?,效率不如GCD)
自帶線程管理的抽象類,NSInvocationOperation(target,NSInvocationOperation在Swift中已不再支持),NSBlockOperation(block)
1)優(yōu)點:自帶線程周期管理,操作上可更注重自己邏輯。
2)缺點:面向?qū)ο蟮某橄箢悾荒軐崿F(xiàn)它或者使用它定義好的兩個子類:NSInvocationOperation 和 NSBlockOperation。
3. GCD
Grand Central Dispatch (GCD)是Apple開發(fā)的一個多核編程的解決方法。
1)優(yōu)點:最高效,避開并發(fā)陷阱。
2)缺點:基于C實現(xiàn)(不是面向?qū)ο?,但是我并不覺得是缺點,效率和性能才是正宗)。
總:除了依賴關(guān)系盡量使用GCD,因為蘋果專門為GCD做了性能上面的優(yōu)化
delegate、KVC(間接訪問對象的屬性)、KVO(觀察一個對象的值的變化)、Block
基本第三方框架AFNetworking、SDWebImage、MJRefresh、SVProgressHUD等等
APNS
1、應(yīng)用程序注冊APNS消息推送。
2、iOS從APNS Server獲取devicetoken,應(yīng)用程序接收device token。
3、應(yīng)用程序?qū)evice token發(fā)送給程序的PUSH服務(wù)端程序。
4、服務(wù)端程序向APNS服務(wù)發(fā)送消息。
5、APNS服務(wù)將消息發(fā)送給iPhone應(yīng)用程序。
UIView、UIButton、UILabel等等封裝
CocoaPods,微信QQ微博分享、登錄,微信支付寶applePay支付,極光leancloud推送、掃碼、積分墻(有米、萬普、點入等)
nib和Storyboard、sourceTree
UIResponder
ARC & MRC
組件化開發(fā)(deepLink)
組件化,通過deepLink接口調(diào)頁面(URL SCHEMES)
快速開發(fā)(模塊化開發(fā),抽離代碼,形成模板)