0

私はまったく初心者で、本当にあなたの助けが必要です。すでに1週間解決策を探していますが、どうすればよいかわかりません。Web サービスからいくつかのアイコン (png 画像) をダウンロードしようとしていますが、既に別の場所でコードを使用していますが、複数の画像ではなく 1 つの画像に対してのみ使用しています。この場合、15 個の画像をダウンロードする必要があります。どちらの場合も、AFImageRequestOperation または NSURLConnection sendAsynchronousRequest を使用して、15 個の画像すべての最後に到達しましたが、その後、そこに表示されるべきではないため、修正方法がわからないというエラーで始まります! ( *キャッチされていない例外 'NSInvalidArgumentException' が原因でアプリを終了しています。理由: '-[__NSCFArray CGPointValue]: 認識されないセレクターがインスタンスに送信されました)。synchronousRequest を使用して 15 枚の画像をダウンロードしても、まったく問題はありません。私が間違っていることは何ですか?ここでの私の間違いですか、それとも他の場所ですか?どうもありがとう。

NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:imagePath]];
AFImageRequestOperation *operation = [AFImageRequestOperation imageRequestOperationWithRequest:request imageProcessing``Block:nil                                                                                            success:^(NSURLRequest *request, NSHTTPURLResponse *response, UIImage *image) {
         // Save Image
        [images_icon addObject:image ];
        if ([images_icon count]==[allIcons count]) {
            [self saveAllImagesToDisk];
        }
        }
        failure:^(NSURLRequest *request, NSHTTPURLResponse *response, NSError *error) {
          NSLog(@"%@", [error localizedDescription]);
          UIAlertView* allerta=[[UIAlertView alloc] initWithTitle:@"Attention"
                    message:@"Some problems here.."
                    delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil, nil];
          [allerta show];
        }];
    [operation start];

NSURL *url = [NSURL URLWithString:percorsoImmagine];
    NSURLRequest *urlRequest = [NSURLRequest requestWithURL:url];
    NSOperationQueue *queue = [[NSOperationQueue alloc] init]; 
    [NSURLConnection sendAsynchronousRequest:urlRequest queue:queue completionHandler:^(NSURLResponse *response, NSData *data, NSError *error)
     {NSLog(@"lungh %d, error=%@ mime=%@",[data length], error, response.MIMEType);
         if ([data length] > 0 && error == nil && ([response.MIMEType isEqualToString:@"image/png"] || [response.MIMEType isEqualToString:@"image/jpeg"])){
             [images_icon addObject:data ];
             if ([images_icon count]==[allIcons count]) {
                [self saveAllImagesToDisk];
             }
         }
     }];
4

1 に答える 1

1

使用するときは にs をAFImageRequestOperation追加しますが、使用するときは にs を追加します。さらに調査するには、確認する必要があります。UIImageimages_iconNSURLConnectionNSDataimages_icon[self saveAllImagesToDisk]

于 2013-02-23T18:05:21.037 に答える