iOS知識點小結(jié)

1.KVO
1.1> KVO 簡介:
KVO 是 OC 觀察者設(shè)計模式的一種實現(xiàn).KVO 指定一個被觀察的對象的屬性,當該屬性發(fā)生變化時,觀察者會收到通知,并作出相應(yīng)處理.

1.2>KVO 實現(xiàn)原理:
KVO 是通過 Runtime 機制實現(xiàn)的,當觀察某對象A時,KVO機制動態(tài)創(chuàng)建一個對象A當前類的子類NSKVONotifying_A,并為這個新的子類重寫了被觀察屬性keyPath的setter 方法。setter 方法隨后負責(zé)通知觀察對象屬性的改變狀況。

子類setter方法剖析:KVO的鍵值觀察通知依賴于 NSObject 的兩個方法:willChangeValueForKey:和didChangevlueForKey:,在存取數(shù)值的前后分別調(diào)用2個方法:
被觀察屬性發(fā)生改變之前,willChangeValueForKey:被調(diào)用,通知系統(tǒng)該 keyPath 的屬性值即將變更;當改變發(fā)生后, didChangeValueForKey: 被調(diào)用,通知系統(tǒng)該 keyPath 的屬性值已經(jīng)變更;之后, observeValueForKey:ofObject:change:context: 也會被調(diào)用。且重寫觀察屬性的setter 方法這種繼承方式的注入是在運行時而不是編譯時實現(xiàn)的。

1.注冊觀察者;
2.實現(xiàn)屬性值變化時獲取通知的方法;
3.移除觀察者.
KVO 的使用方式

2.KVC
2.1>KVC 簡介: KVC(Key Value Code),鍵值編碼的簡稱.KVC簡單來說,就是操作一個對象,可以像操作字典一樣,通過key來取值和賦值.

2.2>KVC 流程:
用KVC取值或賦值時,會優(yōu)先找這個屬性對應(yīng)的getter或setter方法來對這個屬性賦值
如果找不到,則會查找?guī)聞澗€的屬性,如果找到則賦值
如果依然找不到,則會查找不帶下劃線的屬性,如果找到則賦值
如果還是找不到,則拋出異常

用KVC時傳入的key必須保證類中存在同名的屬性.否則會運行時崩潰.此時可以在類中重寫setValue: forUndefinedKey:

2.3>使用 KVC 的好處:

2.3.1 可以訪問對象的私有變量;
2.3.2 可以快速字典轉(zhuǎn)模型. [model setValuesForKeysWithDictionary:dic];

KVC 的使用方式

3.內(nèi)存管理
iOS 的內(nèi)存管理分為 ARC 與 MRC兩種模式.當前主流的為 ARC 模式.ARC 的本質(zhì)是 MRC, 只不過是系統(tǒng)幫助開發(fā)者管理創(chuàng)建的對象或內(nèi)存空間.

MRC 下的關(guān)鍵字包括:alloc,retain,copy,release,autorelease, 其中,alloc,retain,copy會將引用計數(shù)器 +1, release 和 autorelease 會將引用計數(shù)器 -1;

iOS 采用引用計數(shù)器的方式管理內(nèi)存,引用計數(shù)器是對一塊內(nèi)存地址的所有權(quán)的記錄.當一塊內(nèi)存被開辟的時候,引用計數(shù)器為 1,在這之后,每有一個新的指針指向該內(nèi)存,則引用計數(shù)器的值 +1,當某個指針不指向該內(nèi)存地址時,該內(nèi)存地址的引用計數(shù)器 -1.當內(nèi)存地址的引用計數(shù)器變?yōu)?0的時候,系統(tǒng)會釋放該內(nèi)存地址.

深拷貝和淺拷貝
copy語法的目的:改變副本的時候,不會影響到源對象;
深拷貝:內(nèi)容拷貝,會產(chǎn)生新的對象。新對象計數(shù)器置為1,源對象計數(shù)器不變;
淺拷貝:指針拷貝,不會產(chǎn)生新的對象。源對象計數(shù)器+1.
注:要實現(xiàn) copy, 必須實現(xiàn)<NSCopying>協(xié)議
只有不可變對象調(diào)用copy方法時為淺拷貝,其他情況均為深拷貝;

4.socket
5.藍牙
6.runtime
7.isa
8.數(shù)據(jù)庫

參考:http://www.lxweimin.com/p/5b6ba1eba107

9.多線程
10.修飾符(retain,copy,strong...)
11.http,https,TCP/IP
12.加密(AES,MD5...)
13.包體積優(yōu)化

主要途徑是移除項目中不再使用的資源文件、合并代碼(合理使用分類)

14.手勢沖突
15.SDWebImage 緩存機制
16.推送
17.版本適配
18.AutoLayout
19.Swift 4.0
20.協(xié)議代理
21.block
22.性能優(yōu)化
23.視頻播放
24.直播
25.網(wǎng)絡(luò)
26.歸檔 & 解檔

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 230,247評論 6 543
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 99,520評論 3 429
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事?!?“怎么了?”我有些...
    開封第一講書人閱讀 178,362評論 0 383
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經(jīng)常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,805評論 1 317
  • 正文 為了忘掉前任,我火速辦了婚禮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 72,541評論 6 412
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 55,896評論 1 328
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,887評論 3 447
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 43,062評論 0 290
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 49,608評論 1 336
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 41,356評論 3 358
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 43,555評論 1 374
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 39,077評論 5 364
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 44,769評論 3 349
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 35,175評論 0 28
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 36,489評論 1 295
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 52,289評論 3 400
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 48,516評論 2 379

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

  • 參考:2017年最新 iOS面試題及答案2017秋季校園招聘iOS開發(fā)崗位面試題集錦iOS面試題300+2017...
    differ_iOSER閱讀 3,401評論 9 60
  • *面試心聲:其實這些題本人都沒怎么背,但是在上海 兩周半 面了大約10家 收到差不多3個offer,總結(jié)起來就是把...
    Dove_iOS閱讀 27,197評論 30 471
  • 37.cocoa內(nèi)存管理規(guī)則 1)當你使用new,alloc或copy方法創(chuàng)建一個對象時,該對象的保留計數(shù)器值為1...
    如風(fēng)家的秘密閱讀 880評論 0 4
  • 這是我最沖動的一次 這是我打這么多語音通話沒人接 這是我下午看散文看的結(jié)果 這是我晚上做圖和聽音樂的結(jié)果 我從南跑...
    文子博閱讀 121評論 0 0
  • 小喬說:戀愛,是一門高深莫測的學(xué)問哦! 游戲世界雖是虛幻,但是很多人也被帶入現(xiàn)實,產(chǎn)生著千絲萬縷的關(guān)系。 我的朋友...
    惜漫閱讀 210評論 0 0