func beginContentAccess () -> Bool
func endContentAccess ()
Availability 有効性
Technology
protocol NSDiscardableContent
An NSDiscardable
object’s life cycle is dependent upon a “counter” variable. An NSDiscardable
object is a purgeable block of memory that keeps track of whether or not it is currently being used by some other object. When this memory is being read, or is still needed, its counter variable will be greater than or equal to 1. When it is not being used, and can be discarded, the counter variable will be equal to 0.
NSDiscardable
オブジェクトのライフサイクルは、ある「カウンター」変数に依存します。NSDiscardable
オブジェクトはあるパージ可能なメモリブロックで、それが現在なんらかの他のオブジェクトによって使用されているかどうかの経過を追うものです。このメモリが読み出されている、またはまだ必要とされない時、それのカウンター変数は1と等しいかより大きいでしょう。それが使われていない、および廃棄されることが出来る時、カウンター変数は0と等しいでしょう。
When the counter is equal to 0, the block of memory may be discarded if memory is tight at that point in time. In order to discard the content, call discard
on the object, which will free the associated memory if the counter variable equals 0.
カウンターが0と等しい時、そのメモリブロックは廃棄されるかもしれません、もしメモリが現時点で余裕がないならば。内容を廃棄する手段として、discard
をそのオブジェクト上で呼び出してください、それは結び付けられるメモリを解放します、もしカウンター変数が0と等しいならば。
By default, NSDiscardable
objects are initialized with their counter equal to 1 to ensure that they are not immediately discarded by the memory-management system. From this point, you must keep track of the counter variable’s state. Calling the begin
method increments the counter variable by 1, thus ensuring that the object will not be discarded. When you no longer need the object, decrement its counter by calling end
.
初期状態では、NSDiscardable
オブジェクトは、それらのカウンターを1に等しく初期化されることで、それらが直ぐにメモリ管理システムによって廃棄されないことを保証します。この瞬間から、あなたはカウンター変数の状態の経過を追わなければなりません。begin
メソッドを呼び出すことは、カウンター変数を1だけ増やします、そうしてそのオブジェクトが廃棄されないことを保証しています。あなたがもはやそのオブジェクトを必要としない時、それのカウンターをend
を呼び出すことによって減らしてください。
The Foundation framework includes the NSPurgeable
class, which provides a default implementation of this protocol.
Foundationフレームワークは、NSPurgeable
クラスを含みます、それはこのプロトコルの省略時の実装を提供します。
func beginContentAccess () -> Bool
func endContentAccess ()
func discardContentIfPossible ()
func isContentDiscarded () -> Bool
var evictsObjectsWithDiscardedContent : Bool