問題タブ [nscache]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
4 に答える
249 参照

iphone - すべてのuitableviewcellについて、インターネットからダウンロードした画像とラベルテキストをキャッシュする方法は?

私はインターネットからすべてのテーブルセルのテキストと画像をダウンロードします。私はバックグラウンド(GCD)でそれを行いますが、行がたくさんあるため、パフォーマンスは良くありません(すべての行のイメージをdllするのに時間がかかります)。

画像dllにはnsurlconnectionを使用しています。

私は少しググって混乱しました。これを行う最も簡単な方法は何ですか?NSCache(画像とテキスト用)を使用しますか、それともコアデータを学習する必要がありますか?

0 投票する
1 に答える
3502 参照

objective-c - NSCache、removeAllObjects はメモリ使用量を解放しますか? ARCを使用しています

アプリデリゲートで作成および保存されるARCとNSCacheを使用しています。次に、アプリ デリゲートを介してコントローラーから呼び出します。NSCache は、URL から読み込まれた画像を保存し、メモリ使用量が急速に増加します。プロファイラーで実際のメモリ使用量を確認すると、アプリのメモリ使用量は 320 MB にも達しますが、割り当てでは 20 ~ 30 MB しか割り当てられていないと表示されます。

アプリのデリゲートで、キャッシュを次のように設定します (これは ivar です)。

NSCache を試すためのボタンを実装しました。クリックすると次のように呼び出されます。

プロファイラーでは、使用されるメモリは減りませんが、実際に画像の取得が再開されるため、オブジェクトが削除された場所がわかります。ARCを使用して、このメモリ使用量を自由に解放するにはどうすればよいですか? キャッシュのサイズを取得して、いつ解放するかを知るにはどうすればよいですか?

0 投票する
1 に答える
534 参照

objective-c - NSImage でいっぱいの NSCache を保存する最も簡単な方法

sでNSCache満たされた a を永続的に保存する最も簡単な方法は何ですか? Core Data を探してNSImageいるわけではありません。これは、画像を含む辞書を格納するだけではやり過ぎのようです。

0 投票する
1 に答える
611 参照

objective-c - NSCacheは常に私に(null)を与えます

NSStringをNSCacheに保存していますが、NSLogで(null)を取得しています。

ViewDidLoadで初期化した後、NSCacheに保存するこのコードがあります

次に、呼び出されてオブジェクトを保存する関数があります

それから私はこのようにチェックしています:

不運にも...

誰かが以前にこの問題を抱えていましたか?助けていただければ幸いです。

0 投票する
2 に答える
9147 参照

objective-c - iOSのNSCacheにデータを保存する方法は?

私は NSCache を初めて使用します。

複数のオブジェクトを生成する API 呼び出しがあります。API を再度呼び出す必要がないように、これらのオブジェクトを NSCache に格納する方法を教えてください。

NSCache に格納できるデータの量。NSCache にデータを保存するための特定の制限はありますか。

私を助けてください。

0 投票する
2 に答える
2087 参照

objective-c - NSCache: キャッシュされたアイテムにアクセスしようとすると、常に「キー値のコーディングに準拠していません」と表示される

NSCache を使用して PNG を NSData として保存しようとしています。キャッシュが空かどうかに関係なく、キャッシュから 1 つ取り戻そうとすると、次のようになります。

2012-10-26 09:49:28.860 SledMap[55917:11503] *キャッチされない例外 'NSUnknownKeyException' によりアプリを終了します。理由: '[ valueForUndefinedKey:]: このクラスは、キー 0_0_5 のキー値コーディングに準拠していません。

コードをそのままにして、NSCache を NSMutableDictionary に変更すると、問題なく動作します。

私は自分のキャッシュを宣言します:

それを割り当てます(viewDidLoadで):

キャッシュに何かを追加します。

そして、それを元に戻すと、上記のエラーが発生します。

それが空の場合は、nil を返すだけだと思います。これは、self.tileCache を NSCache ではなく NSMutableDictionary にすると発生します。また、デバッグ領域では、次のように表示されます。

NSString を渡すと、同じことが行われ、変数が NSString ではないと表示されます。

また、「A」になるようにハードコーディングkeyして、「A」として再度アクセスしようとすると、同じ結果になります。

何か案は?

0 投票する
0 に答える
560 参照

iphone - setObjectForKey でオブジェクトを削除する NSCache

NSCache は、オブジェクトを設定するたびにオブジェクトを削除しています! これはナッツです。

オブジェクトを追加する方法は次のとおりです。

これが私のデリゲート メソッド willEvictObject です。

オブジェクトをキャッシュに追加するたびに、オブジェクトが削除されます。本当に奇妙です。

何か案は?これが私がそれをどのように割り当てているかです:

ありがとう!

0 投票する
3 に答える
5699 参照

ios - NSCache とバックグラウンド

アプリケーションがバックグラウンドになると、NSCache がすべてのオブジェクトを削除することに気付きました。それは期待される動作ですか?それを回避する方法はありますか?

アプリがバックグラウンドになった直後ではなく、デバイスのメモリが不足したときにオブジェクトを削除することを期待しています。

有効な代替手段を知っていますか?

0 投票する
2 に答える
1276 参照

iphone - Key-Value 観測 NSCache

NSCache インスタンス内の特定のキーに対応するオブジェクトが変更されたときに通知を受け取りたいです。Key-Value Observing を使ってみましたが、うまくいきませんでした (コンソールには何も記録されません)。

NSCache の内容を確認するにはどうすればよいですか?