2012-02-15 11 views
1

iphoneに私はキャッシュにストアイメージの要件があります。イメージをキャッシュに保存する方法は?

しかし、これをキャッシュにどのように保存することができますか。

私はキャッシュのフォルダパスを知っています。これは私がキャッシュのためのそのフォルダのイメージを書き込まなければならない唯一の方法ですか?

他にも知りたいことがあります。またはこれは正しい方法ですか? 私を助けてください。

+0

kは、我々はのために働かなければなりませんその –

答えて

0

使用は、編集:このコードを使用して
GETファイルのパスをして、特定のファイルfatch:

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSLibraryDirectory, NSUserDomainMask, YES); 
NSString *libraryDirectory = [paths objectAtIndex:0]; 
+0

私はこの方法を知っています。私はこれが唯一の方法だと尋ねましたか?私は他の方法でこれを行うことはできませんか? –

+0

はいNSLibraryDirectoryを使って別の方法があります – kulss

+0

私はこの事を知りたいと思っています。どうすればいいの? –

2

あなたは、このようにNSArchiverNSUnarchiverを使用して、ローカルディスク上にデータを保存することができます

//キャッシュに自分の画像を設定

NSData *imgData = [NSKeyedArchiver archivedDataWithRootObject:myImage]; 
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; 
[defaults setObject:imgData forKey:@"img_01"]; 
[defaults synchronize]; 

//キャッシュから自分の画像を取得

NSData *imgData = [[NSUserDefaults standardUserDefaults] objectForKey:@"img_01"]; 
myImage = [NSKeyedUnarchiver unarchiveObjectWithData:imgData]; 

リンゴの参照先:http://goo.gl/XH2o2

これが役立つことを願っています。このリンク..

http://www.makebetterthings.com/iphone/image-caching-in-iphone-sdk/

+0

なぜあなたはdownvoteを説明できないのですか? – elp

+2

-1説明:NSUserDefaultsはグローバルストレージではありません。 NSUserDefaultsは、プリファレンスにのみ使用する必要があります。しかし、シングルトン設計のために、NSUserDefaultsはAppDelegate-Superstorageの後継機種だと人々は考えています。それは、使い易く、どこでも利用可能であり、 "それはうまくいく"とは言えます。しかし、そうすることは非常に悪いことです。 NSUserDefaultsは、その内容を単一のplistファイルに保存します。このため、NSUserDefaultsをバックエンドとしてキャッシュ(=複数のイメージ、おそらくは何千ものもの)を構築する提案は悪い答えです。 –

+0

@MatthiasBauchありがとう。今それは明らかです。 – elp

関連する問題