我知道alloc是一個類方法,它創建類的對象並將它的「isa」指針指向類,並指出消息在運行時的映射方式。alloc在Objective C中如何工作?
我對allocWithZone和區域有一些想法。
誰能告訴我,或指向我一個很好的鏈接,解釋說: -
了ISA指針指向正確的類?
分配了多少內存?
從父類繼承的成員的內存是如何創建的?
如果id是objc_object *的typedef,它的isa指針指向什麼,那麼它如何保存anyobject,因爲isa指針會讓我們到調度表,它有方法的選擇器,但它們是否有任何東西可以告訴我們數據成員應該在那裏?
'id'是代表一個指針,而不是對象的類型,所以它不具有ISA' '它自己的。當你聲明一個'id'類型的變量時,它意味着你可以爲任何類型的對象分配一個指針,編譯器不會抱怨它。當然,對象本身有一個「isa」成員,根據定義,它指向所討論對象所屬的類是一個實例。 – Caleb 2012-01-06 15:41:12