Generic Class

NSCache

A mutable collection you use to temporarily store transient key-value pairs that are subject to eviction when resources are low. リソースが生であるとき立ち退きの対象となる短期滞在のキー値ペアを一時的に格納するためにあなたが使う、可変コレクション。

Declaration 宣言

class NSCache<KeyType, ObjectType> : NSObject where KeyType : AnyObject, ObjectType : AnyObject

Overview 概要

Cache objects differ from other mutable collections in a few ways: キャッシュオブジェクトそれらは、他の可変コレクションとはいくつかの方法で異なります:

  • The NSCache class incorporates various auto-eviction policies, which ensure that a cache doesn’t use too much of the system’s memory. If memory is needed by other applications, these policies remove some items from the cache, minimizing its memory footprint. NSCacheクラスは、さまざまな自動立ち退き方針を取り入れます、それらはあるキャッシュが多すぎるシステムメモリを使わないことを確実にします。メモリが他のアプリケーションによって必要とされるならば、これら方針はいくつかの項目をそのキャッシュから取り除いて、それのメモリフットプリントを最小限にします。

  • You can add, remove, and query items in the cache from different threads without having to lock the cache yourself. あなたは、キャッシュの中の項目の追加、除去、そして問い合わせが異なるスレッドから、キャッシュをあなた自身でロックする必要なしに可能です。

  • Unlike an NSMutableDictionary object, a cache does not copy the key objects that are put into it. NSMutableDictionaryオブジェクトと違い、キャッシュはそれの中へと置かれるキーオブジェクトをコピーしません。

You typically use NSCache objects to temporarily store objects with transient data that are expensive to create. Reusing these objects can provide performance benefits, because their values do not have to be recalculated. However, the objects are not critical to the application and can be discarded if memory is tight. If discarded, their values will have to be recomputed again when needed. あなたは、概してNSCacheオブジェクトを使って、作成するのに高くつく短期滞在データを持つオブジェクトを一時的に格納します。それらのオブジェクトの再利用は性能上の利益を提供できます、なぜならそれらの値は計算為直される必要がないからです。しかしながら、それらオブジェクトは、アプリケーションにとって重大なものではありません、そしてメモリに余裕がないならば廃棄されることができます。廃棄されたならば、それらの値は必要な時に再び計算し直さなければなりません。

Objects that have subcomponents that can be discarded when not being used can adopt the NSDiscardableContent protocol to improve cache eviction behavior. By default, NSDiscardableContent objects in a cache are automatically removed if their content is discarded, although this automatic removal policy can be changed. If an NSDiscardableContent object is put into the cache, the cache calls discardContentIfPossible() on it upon its removal. 必要とされない場合に廃棄可能な下位構成要素を持つオブジェクトは、NSDiscardableContentプロトコルを採用してキャッシュ立ち退き挙動を改善できます。初期状態で、キャッシュの中のNSDiscardableContentオブジェクトは、それらの内容が廃棄されるならば自動的に除去されます、とはいえこの自動的な除去方針は変更できます。NSDiscardableContentオブジェクトがキャッシュの中へと置かれるならば、キャッシュはdiscardContentIfPossible()をそれの除去においてそれの上で呼び出します。

Topics 話題

Managing the Name 名前を管理する

Managing Cache Size キャッシュサイズを管理する

Managing Discardable Content 廃棄可能な内容を管理する

Managing the Delegate 委任先を管理する

Getting a Cached Value キャッシュされた値を取得する

Adding and Removing Cached Values キャッシュされた値を追加および除去する

Relationships 関係

Inherits From 継承元

See Also 参照

Purgeable Collections パージ可能なコレクション