iOS 知識(shí)清單總結(jié)
2017年7月24日 周一
一、oc基礎(chǔ)
1、oc特點(diǎn);
2、分類與繼承(或說擴(kuò)展)的區(qū)別;
3、內(nèi)存管理機(jī)制、內(nèi)存泄露、野指針,如何避免,崩潰問題;
4、關(guān)鍵字:assign、retain、weak、strong、copy、@property本質(zhì)、@synthesize、@dynamic;
5、block、block內(nèi)存管理,棧和堆的區(qū)別;
6、runtime機(jī)制;
7、常用數(shù)據(jù)類型(基本數(shù)據(jù)類型、結(jié)構(gòu)體、枚舉、字符串、數(shù)組、字典、數(shù)據(jù)、日期);
8、常用設(shè)計(jì)模式(mvc、單例、觀察者、代理)、懶加載;
9、數(shù)據(jù)傳遞方式(賦值、方法調(diào)用、代理、通知、block、get方法、set方法);
內(nèi)存泄露出現(xiàn):
1、block強(qiáng)引用對(duì)象,循環(huán)引用;
2、聲明成員變量時(shí)使用了不合理的關(guān)鍵字,如本來要weak卻使用strong;
崩潰問題:實(shí)際多數(shù)出于野指針;
10、swift語言;
11、常用框架:mjExtension、yykit、yymodel、jsonmodel;
二、UI
1、常用的控件:UILabel、UIButton、UIView、UITableView、。。。。;
2、layout、storyboard、xib;
3、動(dòng)畫;
4、手寫代碼;
5、frame和bounds的區(qū)別;
6、常用相關(guān)框架:masonry、mjrefresh、mbprogressHUD;
三、多線程
1、NSThread、GCD、NSOpreation的區(qū)別;
2、線程、進(jìn)程;
UI的更新要在主線程執(zhí)行:
dispatch_async(dispatch_get_main_queue(),^(void){});
四、數(shù)據(jù)操作
1、字符串:拼接、分割、計(jì)算size;
2、數(shù)組:添加、刪除、篩選、排序;
3、文件存儲(chǔ)到本地;
4、圖片操作;
5、日期操作;
6、常用數(shù)據(jù)存儲(chǔ)方式:
1)歸檔;
2)plist+NSUserDefault;
3)sqlite3;
4)coreData;
5)realm;
6)keychain;
7、sql語句操作:
1)添加表;
2)增刪改查操作;
3)字段操作;
8、謂詞NSPredicate;
9、常用框架:FMDB、realm;
五、網(wǎng)絡(luò)
1、socket通信;
2、http和https、tcp、udp;
3、網(wǎng)絡(luò)編程、get、post請(qǐng)求;
4、網(wǎng)絡(luò)數(shù)據(jù)交互:json、xml;
5、常用框架:AFNetWorking、alamofire;
六、機(jī)制
1、內(nèi)存管理機(jī)制;
2、runtime機(jī)制;
3、緩存機(jī)制;
4、tableViewCell重用機(jī)制(visibleTableCells、reuserbleTableCells);
5、SDWebImage緩存機(jī)制;
6、沙盒機(jī)制;
7、runloop機(jī)制;
七、流程
1、開發(fā)流程;
2、APP運(yùn)行流程;
3、控制器生命周期;
4、APP上架流程、審核規(guī)則;
5、支付寶流程;
6、推送通知流程(push--APNS--iPhone--APP,個(gè)推、極光推送、百度推送、騰訊信鴿);
7、第三方登錄:微信、QQ、微博、百度;
八、項(xiàng)目開發(fā)
1、項(xiàng)目管理(git)、cocoapods;
2、屏幕適配;
3、性能優(yōu)化;
4、xcode開發(fā)工具(instrument診斷、調(diào)試);
5、自動(dòng)化測試:單元測試