3
A
回答
3
這是一個實現細節,那就是從如何Objective-C的兩種歷史和能力的動態方法添加到類的後果。
具體來說,如果您查看method_list條目的內容,您會發現這些方法被分解爲集合,其中每個集合都包含對象上特定類別的所有方法。即如果您的應用程序使用五種方法在UIView上定義了一個類別(不要那麼做 - 糟糕的設計),那麼您會發現這五種方法都綁定在method_list的末尾,並放在一個objc_method_list中(這就是爲什麼method_list條目是指針對齊和可變大小)。
這也延伸到動態添加方法。不需要將一堆數據複製到現有方法數據結構的新分配副本中。相反,運行時可以只分配一個objc_method_list並將其放在鏈表的末尾(或在頭部 - 實現細節處)。
相關問題
- 1. 什麼是指向指針的指針?
- 2. 指針指針的意義是什麼?
- 3. 指針指針的語法是什麼?
- 4. 爲什麼指向char的指針指針是最新的?
- 5. 什麼是強指針和弱指針
- 6. 指針指針是什麼意思?
- 7. 爲什麼cudaMalloc()使用指針指針?
- 8. 爲什麼指向指針?
- 9. 在C和C++中,const指針指針指的是什麼?
- 10. C - 爲什麼指針指針與指向數組的指針不同?
- 11. 爲什麼有人需要一個指向指針的指針?
- 12. 爲什麼和什麼時候值得使用指針指針?
- 13. 指向指針的指針與C中指針的地址有什麼區別?
- 14. 指向內存分配指針的指針,爲什麼這是錯誤的?
- 15. 什麼是懸掛指針
- 16. 什麼是函數指針?
- 17. 什麼是裸指針?
- 18. 什麼是指針聲明?
- 19. 什麼是指針攪拌?
- 20. 什麼是參考指針?
- 21. 什麼是合成指針?
- 22. 無法解釋爲什麼指針成爲創建的指針
- 23. 我做了什麼?指向指向double的指針的指針?
- 24. 爲什麼我的指針不是NULL?
- 25. 爲指針的指針
- 26. 爲什麼使用指針
- 27. 爲什麼說一個2維數組是一個「指向指針的指針?」
- 28. 爲什麼在這個編程中使用指針指針?
- 29. 在C++中爲指針指定指針
- 30. 使用指針:指針指針指針