ios中執行機制三個常用機制

2021-09-30 12:45:49 字數 907 閱讀 3904

/**

*  分類中不能定義成員變數,不能直接定義屬性

*  如果定義了屬性,必須自己重寫getter&setter方法

*  如果分類中,能夠實現紀錄屬性功能.

需要用到'執行時機制',是開發oc語言的!

在日常開發中用到三個場景

1.在分類中,通過關聯物件,給分類動態新增屬性,能夠讓分類解耦,開發框件。

2.動態獲得乙個類的屬性列表,可以開發字典模型轉模型的框架。

3.交換方法,動態交換方法的位址,用處主要用在接管系統方法。**

*//**

*  動態關聯屬性

1.關聯到的物件

2.屬性的key  const void *key 定義乙個常量 (語法相當於id)

3.紀錄屬性的值

4.關聯的引用

objc_association_assign   arc中的assign

objc_association_copy     arc中的copy

objc_association_copy_nonatomic  arc中的執行緒保護問題

objc_association_retain

objc_association_retain_nonatomic  arc中的strong

weak 和 assgin區別

相同點:

都不會強引用。

不同點:

weak引用的物件,一旦引用計數為0,會自動指向nil

assign引用的物件,一旦引用計數為0,物件位址不變,因此mrc下,會出現野指標的問題。也是常見bug

objc_setassociatedobject(<#id object#>, <#const void *key#>, <#id value#>, <#objc_associationpolicy policy#>)

iOS後台執行機制

除了上述四項後台功能,系統還提供乙個程式快速切換的功能,這個功能也算是ios多工的一部分。個人觀點,這個功能是ios多工中最先進最有用的功能。它讓程式在最小化的時候僅僅是暫停執行,但並不釋放記憶體,保持程式當前的狀態,這樣當你再次開啟這個程式的時候,程式不需要重新從硬碟 快閃儲存器 中讀出,不需要重...

三 MFC執行機制分析

2 cdoc類是進行文書處理的類,cview是進行顯示的類 3 cframe是cview的父視窗,在view中獲得view視窗指標就是this指標,獲得父視窗指標就是getparent 4 例如在frame中建立乙個button控制項,那麼就在frame的oncreate方法中加入如下 m btn....

IOS後台執行機制 與 動作

注 應用從froeground切換到background只有在支援多工並且執行ios4.0或更新版本系統的裝置上才會發生。所有其它的情況,應用不是切向後台,而是直接終止,並且從記憶體中清除。應用切向後台background時應該做什麼 2 儲存使用者資料和應用狀態資訊。所有沒有儲存的改變都應該在切向...