程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> Objective-C 內存管理原則

Objective-C 內存管理原則

編輯:關於C語言

Objective-C 內存管理原則


內存管理方針 用於內存管理的基本模型采用引用計數的環境之中提供的組合方法中定義在NSObject協議和標准方法的命名約定。NSObject類也定義了一個方法:dealloc,當調用一個對象時自動回收,本文描述了Cococa程序中你需要知道的基本規則,同時提供了許多正確的使用示例 基本的內存管理規則方針 內存管理模型是基於對象的所有權。任何對象都可能有一個或者多個所有者,只要一個對象至少還有一個所有者,就讓他繼續存在,如果一個對象沒有所有者,正在運行的系統就會把它自動消滅。為了清楚的確保你是否擁有一個對象,Cocoa制定了以下政策: 你擁有所有你創建的對象 你可以通過“alloc”、 “new”、“copy”或者“mutableCopy” (例如alloc、 newObject、 或者 mutableCopy)等方法去創建一個對象 你可以通過“retain”去獲取一個對象的所有權 一個被收到的對象通常保證依然有效當他在這個方法內被接收時,這個方法也可以安全的返回調用程序對象。你可以在兩種下使用“retain”:(1)、在一個訪問方法的實現方法或者“init”方法時,為了獲取你想要作為一個屬性值去存儲的一個對象的所有權。(2)、為了防止一個對象因為一些其他的操作後果而從此被失效(如用來解釋避免你正在使用的對象重新分配單元) 當你不再需要他的時候,你必須放棄你所擁有的對象的所有權 你通過給它發送一個release消息或者一個autorelease消息來放棄一個對象的所有權。在Cococa術語中,放棄一個對象的所有權通常稱為“釋放”對象 你不能釋放一個不是你所擁有的對象的所有權 這僅僅是上述政策規則的必然結果,明確的規定

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved