に画像をロードするアプリを持っていUITableView
ます。各行には画像ビューがあります。
URL から画像をダウンロードし、 に割り当てます
UIImageView
。ここでの問題は、テーブル ビューをドラッグしていた場合に画像ビューが更新されないことです。指を離したときにのみ更新されます。別の問題は、すべてのセルに、タイマーを使用してインクリメントされるカウンターを示すラベルがあることです。指がテーブルビューにあるときにタイマーアクションも呼び出されません。
これらの両方の場合に更新を行うにはどうすればよいですか?
これは非常に基本的な質問かもしれません。しかし、私には手がかりがありません。
みんな、ありがとう!
編集:ビューがタッチされているときに-connection:didReceiveResponse:メソッドが呼び出されないことに気付き
EDIT 2: NSURLConnection で実行ループを追加してみました。私の方法は次のようになります。
- (void)start {
NSMutableURLRequest* request = [[NSMutableURLRequest alloc] initWithURL:self.imageURL cachePolicy:NSURLRequestReturnCacheDataElseLoad timeoutInterval:self.timeoutInterval];
[request setValue:@"gzip" forHTTPHeaderField:@"Accept-Encoding"];
_connection = [[NSURLConnection alloc] initWithRequest:request delegate:self startImmediately:YES];
NSPort* port = [NSPort port];
NSRunLoop* rl = [NSRunLoop currentRunLoop]; // Get the runloop
[rl addPort:port forMode:NSRunLoopCommonModes];
[_connection scheduleInRunLoop:rl forMode:NSRunLoopCommonModes];
[_connection start];
[rl run];
}
これにより、ビューに触れているときでも画像が読み込まれます。しかし、テーブル ビューのスクロールが非常に遅いです。スクロールすらしていません。ドラッグした時だけ動きます。指を離しても動かない。