国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

【讀書筆記】iOS-自動釋放池

2019-11-14 18:21:48
字體:
來源:轉載
供稿:網友

一,NSObject類提供了一個autorelease方法:

-(id)autorelease;

該方法預先設定了一條將來在某個時間發送的release消息,其返回值是接收消息的對象。retain消息采用了相同的技術,使嵌套調用更加容易。當給一個對象發送autorelease消息時,實際上是將該對象添加到NSAutoreleasePool中。當自動釋放池被銷毀時,會向該池中所有對象發送release消息。

 

二,

NSAutoreleasePool *pool;

pool=[[NSAutoreleasePool alloc]init];

...

[pool release];

創建一個自動釋放池時,該池自動成為活動的池。釋放該池時,其保留計數器值歸0,然后,該池被銷毀。在銷毀過程中,該池釋放其包含的所有對象。

當使用AppKit時,Cocoa定期自動為你創建和銷毀自動釋放池。通常是在程序處理完當前事件(如鼠標點擊或按鍵)以后執行這些操作。你可以使用做任意多的自動釋放對象,當不再使用它們時,自動釋放池將自動為你清理這些對象。

 

三,你可能已經在Xcode的自動生成代碼中遇見過另一種銷毀自動釋放池中對象的方式:-drain方法。該方法只是清空自動釋放池而不銷毀它。-drain方法只適用于MAC OS X 10.4及更高版本。在我們自己編寫(而不是由Xcode生成)的代碼中,我們使用-release方法,因為該方法適用于Mac OS的所有版本。

 

 

參考資料:《Object-C基礎教程》 


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 弥渡县| 嘉禾县| 略阳县| 南宁市| 扎鲁特旗| 观塘区| 丹江口市| 延川县| 台南市| 大名县| 富顺县| 长阳| 柞水县| 大城县| 嘉善县| 奉新县| 应城市| 通河县| 讷河市| 张掖市| 吉首市| 友谊县| 蓬安县| 葫芦岛市| 南皮县| 平山县| 浦城县| 永安市| 长治县| 沾益县| 遵化市| 鄂尔多斯市| 巴里| 牙克石市| 茶陵县| 思南县| 东港市| 青阳县| 白水县| 都兰县| 巴林右旗|