iOS Sharing 系列

本系列更新維護iOS知識點,倉庫

iOS Sharing #01 | 2019-03-23

一、Runtime存在的意義是什麼?

二、根元類的isa指針指向誰?

三、根元類的superClass指針指向誰?

四、函數四要素都是什麼?

五、實例方法去哪裏找?

iOS Sharing #02 | 2019-03-30

一、類方法去哪裏找?

二、isa指針有幾種類型麼?

三、分類的方法具體是在何時添加到類的方法列表中?

四、class_addMethod()都須要什麼參數?

五、iOS消息轉發流程

iOS Sharing #03 | 2019-04-06

一、atomic關鍵字內部使用的是什麼鎖?

二、串行同步、串行異步、併發同步、併發異步各自會開幾條線程?

三、爲何須要在主線程更新UI?

四、iOS中如何用多線程實現多讀單寫?

五、iOS多線程中有多少種方式能夠作到等待前面線程執行完畢再執行後面的線程?

iOS Sharing #04 | 2019-04-13

一、請用一句話概述分類的概念,並闡述分類的優勢。

二、多個同宿主分類中的都重寫了一個同名方法,哪一個分類的同名方法會生效?爲何?

三、@property(copy)NSMutableArray *array這樣聲明屬性會出現什麼問題?

四、說一說KVO在重寫NSKVONotifying對象的setter方法中,添加了哪兩個關鍵方法?

五、如何實現一個完整的單例?

iOS Sharing #05 | 2019-04-20

1. Scoket 鏈接和 HTTP 鏈接的區別

2. 關於 HTTP 的請求 GET 和 POST 的區別

3. HTTPS 加密過程與原理

4. Socket 原理

5. 關於 TCP 的慢啓動特性

iOS Sharing #06 | 2019-04-28

1. block的循環引用是如何形成的?

2. 使用UIAnimation的block回調時,需不須要使用__weak避免循環引用?爲何?

3. block屬性是否能夠用strong修飾?

4. 什麼場景下才須要對變量使用__block?

5. 運行如下GCD多線程代碼,控制檯將打印什麼?

iOS Sharing #07 | 2019-05-05

1. id、self、super 它們從語法上有什麼區別?

2. block 修改捕獲變量除了用 __block 還能夠怎麼作?有哪些侷限性?

3. 什麼狀況使用 weak 關鍵字,相比 assign 有什麼不一樣?

4. weak屬性須要在dealloc中置nil麼?

5. ARC下,不顯式指定任何屬性關鍵字時,默認的關鍵字都有哪些?

iOS Sharing #08 | 2019-05-12

1. NSUserDefaults 可以存儲哪些類型的數據?能夠存儲可變數據類型嗎?能夠存儲自定義數據類型嗎?

2. NSUserDefaults 沒有存儲 key 的時候默認返回什麼?

3. NSUserDefaults 存取操做是什麼?它將數據存在何處?而且它是如何保持數據一致性的?

4. NSUserDefaults 舊數據總能被新設置的替換嗎?

5. NSUserDefaults 性能如何?

iOS Sharing #09 | 2019-05-19

1. setNeedsLayout、layoutIfNeeded與layoutSubviews區別?

2. UIView與CALayer的區別?

3. loadView何時被調用?它有什麼做用?默認實現是怎麼樣的?

4. UIViewController的完整生命週期?

5. UIView動畫支持的屬性有哪些?

iOS Sharing #10 | 2019-05-27

1. Category、 Extension和繼承的區別?

2. isKindOfClass、isMemberOfClass做用分別是什麼?

3. 開發中逆向傳值的方式有哪些?

4. 開發中方法延遲執行的方式有哪些?

5. +load 和 +initialize 的區別是什麼?


聯繫方式

郵箱: adrenine@163.com
git

郵箱: holaux@gmail.com
github

郵箱: ledahapple@icloud.com
多線程

聯合編輯:併發

相關文章
相關標籤/搜索