2009-12-31 3 views
7

NSUrlConnection을 사용하여 UITableView에 대한 지연 이미지로드를 구현했습니다. 이것은 모두 매우 잘 작동합니다. 테이블을 열면 잠깐 (3G에서) 기다릴 때 자동으로 이미지를 얻습니다. 그러나, 스크롤 할 때 테이블에 새 셀을로드하고 NSURLConnections를 시작하지만 이미지로드가 완료되면 (코드에서) 테이블이 실제로 스크롤을 멈출 때까지 뷰에 넣지 않습니다.UITableView 지연 이미지로드 후 테이블 위에 이미지가 표시됨 STOP 스크롤

유튜브 응용 프로그램은 스크롤하는 동안 테이블에 이미지를로드 할 수 있습니다, 나는이 힌트/포인터도이 작업을 수행하고 싶습니다?

+0

나는 이것에 대한 답을 듣고 싶습니다. BTW 별도의 스레드에서 각 이미지를로드합니까? 빨리 스크롤하면 어떤 사고가 나나요? – natanavra

+0

적어도 NSURLConnection initWithRequest : 비동기 적으로 작동하는 대리자 인 NSWRLConnection을 사용합니다. – StijnSpijker

답변

11

난 그냥 테이블이 스크롤되는 동안 데이터를받을 수 있도록 당신은 다른 실행 루프에있는 NSURLConnection을 시작해야 Delayed UIImageView Rendering in UITableView

.. 오른쪽에있는 '관련'기능에 내 대답에 감사를 발견했다.

답변 해 주셔서 감사합니다.

9

Apple 예제 LazyTableImages을 살펴보십시오.

테이블의 모든 이미지를 비동기 적으로 요청하면 이미지가 도착하면서로드됩니다.

일부 응용 프로그램은 scrollViewDidEndDraggingloadImagesForOnscreenRows이 실제로 게으르며 사용자가 현재 검토중인 행에 대해서만 이미지를 요청할 때까지 기다리는 경우가 있습니다.

+2

실제로 테이블이 멈 추면 이미지로드를 시작하기 때문에 예제가 더 나빠집니다. 스크롤링 (보기에도 포함되지 않음). 그들이 스레딩하는 방법을 살펴 보겠습니다. 현재의 응용 프로그램은 행이 들어올 때 행을로드하고 이미지를 지나서 스크롤하면 멈 춥니 다. 유일한 문제는 테이블이 스크롤을 멈출 때까지 테이블에 삽입되지 않는다는 것입니다. 왜 그런지 정확히 알지 못합니다. 내 이미지로드가 비동기 적으로 발생하더라도 실제로는 별도의 스레드가 아니므로 테이블이 스크롤을 멈출 때까지 기다립니다. – StijnSpijker

+0

사실입니다. 그러나 샘플이 실제로 잘 수행 된 것으로 나타났습니다. 나는 그것이 사소한 비틀기와 함께 정말로 잘 작동하게했다. – Echilon

관련 문제