web-dev-qa-db-ja.com

NSData dataWithContentsOfURL

ボタンクリック(ダウンロード)のためのこのメソッドがあります。問題は、例外が原因で終了していることです。

 [セッションは2011-03-14 13:06:45 +0530に開始されました。] 
 2011-03-14 13:06:45.710 XML [7079:20b] ***終了予定のアプリキャッチされない例外 'NSInvalidArgumentException'、
の理由: '***-[NSCFString isFileURL]:認識されないセレクターがインスタンス0x62b8に送信されました' 
-(IBAction) download
{
    UIImage *image = [UIImage imageWithData: [NSData dataWithContentsOfURL:@"http://ws.cdyne.com/WeatherWS/Images/thunderstorms.gif"]];
    [image release];
}

何が問題ですか?

12
Ketan Shinde

文字列ではなく、NSURLを引数として想定しています。

UIImage *image = [UIImage imageWithData: [NSData dataWithContentsOfURL: [NSURL URLWithString:@"http://ws.cdyne.com/WeatherWS/Images/thunderstorms.gif"]]];

編集:

データが正常に読み込まれたかどうかをテストするには、次のようなことを試してください

NSError* error = nil;
NSData* data = [NSData dataWithContentsOfURL:yourURL options:NSDataReadingUncached error:&error];
if (error) {
    NSLog(@"%@", [error localizedDescription]);
    [error release];
} else {
    NSLog(@"Data has loaded successfully.");
}
37
hennes

メソッドdataWithContentsOfURLNSURLではなくNSStringを引数として受け取ります

[NSData dataWithContentsOfURL:[NSURL URLWithString:@"http://ws.cdyne.com/WeatherWS/Images/thunderstorms.gif"]]
8
j_freyre