你好,歡迎來到IOS教程網

 Ios教程網 >> IOS訊息 >> 關於IOS >> 類的本質與isa指針及SEL指針的關系

類的本質與isa指針及SEL指針的關系

編輯:關於IOS

1.》兩指針所在的類:isa指針 和 SEL指針 是屬於NSObject基類。

》類的本質:即是一個結構體。

2.當創建一個類後:

》創建對象:類 * p = [類 new] ;

》在創建一個對象之前,在堆內存中就先存在了一個該類的類類型對象,其中有一個SEL指針就是指向在代碼區內該類的第一個方法。

》定義一個對對象之後,在堆內存中創建了一個該類的對象,該對象包含了一個isa指針的成員變量(第一個屬性),isa指針則指向在堆裡面存在的類類型對象, 在棧內存裡創建了一個該類的指針p,p指針指向的是isa地址。

3.當執行[p 方法] 時:

》當p調用該類的一個方法時,首先通過p找到isa指針,再通過isa指針找到類類型對象,當在堆內存中找到類類型對象後,首次調用該類的方法時,用while(SEL == 方法地址)   找到該方法,這樣就完成了一次方法的調用。當下一次該對象調用同一個方法時,直接在緩存中找到。

4.當創建一個類對象內存表:

 

類的本質與isa指針及SEL指針的關系

  1. 上一頁:
  2. 下一頁:
蘋果刷機越獄教程| IOS教程問題解答| IOS技巧綜合| IOS7技巧| IOS8教程
Copyright © Ios教程網 All Rights Reserved