2012-01-10 11 views
0

アプリケーションを削除しないうちに、ファイルを支払いでローカルに保存するアプリケーションを作成します。ローカルイメージファイルを呼び出してimageviewcontrollerに表示する方法

これまで私が行ったこと:ファイルをダウンロードしてローカルに保存します(アプリケーションドキュメントフォルダ)。

これで問題が発生しました: イメージがダウンロードされた後、ローカルにフェッチしてそのイメージが表示されません。次のURLのNSLogでは、画像が表示されません。

/Users/username/Library/Application%20Support/iPhone%20Simulator/5.0/Applications/F233ED88-1546-4FB0-BE93-0E0FB8C8C3D6/Documents/NationalMedalofArts-150x150.jpg

編集:

NSURL *imageURL = [NSURL URLWithString:[NSString stringWithFormat:@"%@", 
        @"/Users/username/Library/Application Support/iPhone Simulator/5.0/Applications/F233ED88-1546-4FB0-BE93-0E0FB8C8C3D6/Documents/NationalMedalofArts-150x150.jpg"]]; 
NSData *imageData = [NSData dataWithContentsOfURL:imageURL]; 
NSLog(@"%@",imageData); 
UIImage *image = [UIImage imageWithData:imageData]; 
self.imgView.image = image; 

のNSLogたNSDataは、それがNULLだ

+0

何?これは非常に曖昧な質問であり、答えることは難しいです。 – Emil

+0

その文字列がURLではなくパスのように見えるので、URLを入力してください。 URLは "http:"または "file:"などで始まり、文字列はローカルファイルシステム内のファイルのパスに過ぎません。 – Gabriel

+0

NSDataはNULLを返します –

答えて

3

これが優れている:あなたは少しさらに説明することができ、あなたが試していますが、任意のエラー・ログを持っている

NSString *fileName = @"NationalMedalofArts-150x150.jpg"; 
NSString *path = [NSString stringWithFormat:@"%@/Documents/%@", NSHomeDirectory(), fileName]; 
self.imgView.image = [UIImage imageWithContentsOfFile:path]; 
+1

これは短いですが、それはそれを改善しません:) – Emil

2

はこれを使用してみてください表示するには:

NSString* documentsPath = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0]; 
NSString* file = [documentsPath stringByAppendingPathComponent:@"NationalMedalofArts-150x150.jpg"]; 
NSData *imageData = [NSData dataWithContentsOfURL:[NSURL URLWithString:file]; 
UIImage *image = [UIImage imageWithData:imageData]; 
self.imgView.image = image; 

画像や物事のこれらの種類が発見されている場合、あなたはドキュメントフォルダへのパスを見つけるために、最初の行を使用する必要がありますアプリケーションのドキュメントフォルダ内のファイルにアクセスします。上のコードはあなたのために働くはずです。

関連する問題