セクション化されたテーブルビューについて少し絶望的です。以下のような 4 つの画像を持つカスタム UITableViewCell を使用します。
各セルの SDWebImage を介して画像をロードしようとしています。
読み込み手順はすべて、UITableViewController ではなく、カスタム UITableViewCell で行われます。現在のセルで次のコードを実行するcellForRowAtIndexPath
i just 呼び出しから:[cell setup]
NSArray *imageViews = [NSArray arrayWithObjects:self.imageView1, self.imageView2, self.imageView3, self.imageView4, nil];
for (int i = 0; i < self.products.count; i++) {
Product *currentProduct = [self.products objectAtIndex:i];
UIImageView *currentImageView = [imageViews objectAtIndex:i];
NSString *thumbURL = [[CommonCode getUnzippedDirectory] stringByAppendingPathComponent:currentProduct.collectionFolderName];
thumbURL = [thumbURL stringByAppendingPathComponent:thumbFolder];
thumbURL = [thumbURL stringByAppendingPathComponent:currentProduct.product_photo];
[currentImageView setContentMode:UIViewContentModeScaleAspectFit];
[currentImageView setImageWithURL:[NSURL fileURLWithPath:thumbURL]
placeholderImage:[UIImage imageNamed:@"placeholder.png"]];
}
画像はすべてドキュメント ディレクトリに保存され、最大サイズを超えません。500キロバイト。
問題:
私の問題は、テーブルビューをスクロールすると突然クラッシュし、その理由がわからないことです。すべての例外に対してシンボリック ブレークポイントを有効にすると、SDWebImage の 1 行が原因でクラッシュすることが示されます。残念ながら、デバッガーの出力はありません: (イメージが割り当てられている場所でクラッシュします)
UIImage *image = nil;
if ([imageOrData isKindOfClass:[NSData class]])
{
image = [[UIImage alloc] initWithData:(NSData *)imageOrData];
}
dispatch_asnyc
また、同様の結果で画像を読み込もうとしました。同時ファイル操作と関係がある可能性はありますか?
さらに、SDWebImage のキャッシュをクリアする必要があるため、非常に速くスクロールするとメモリ警告が表示されます。同時に、上記の SDWebImage のコード行で停止します。
私はすでに 2 日間 Web を検索しましたが、役に立つものは見つかりませんでした。この問題を解決するためのヒントをいただければ幸いです。クラッシュ レポートなどの追加データが必要な場合は、お知らせください。すぐに提供いたします。