2014-11-15 4 views
1

아이폰 용 다운로더 앱을 만듭니다. 그리고 나는 active/passive 다운로드를 보여주는 tableview를 가지고있다. 테이블 뷰의 사용자 지정 셀에 진행률 표시 줄이 있으며 % XX 다운로드 상태가 표시됩니다. 이제는 NSTimer를 사용하여 tableview를 업데이트하고 있습니다. 나는 NSTIMER에 3 초를 설정하고 멋지게 작동합니다. 그러나 일부 셀을 선택하려고하면 3 초 후에 테이블이 다시로드되어 unselect가됩니다 ...신속하게 타이머를 사용하지 않고 uitableview를 업데이트하는 방법

NSTimer를 사용하지 않고 셀의 레이블 (또는 진행률 막대)을 업데이트하는 방법이 있습니까?

답변

0

다운로드를 위해 NSURLSession 또는 NSURLConnection 중 어느 것을 사용하는지에 따라 다릅니다. NSURLSession를 들어, NSURLSessionDataDelegate로 테이블 뷰 컨트롤러를 마르크 URLSessiondelegate 자신을 설정 한 다음 진행 핸들러 구현 :

func URLSession(session: NSURLSession, 
      downloadTask: NSURLSessionDownloadTask, 
      didWriteData bytesWritten: Int64, 
      totalBytesWritten: Int64, 
      totalBytesExpectedToWrite: Int64) { 

    // update your table view here 
} 
+0

가 아니, 난 거기에 있음을 질수 있습니다. 나는 Download 클래스를 가지고 있고 URLSession 메서드가 모두 있기 때문입니다. 그러나 NSUserDefaults.standardUserDefaults() .setObject (self.error, forKey : "Percentage")라는 메서드를 만들었습니다. 그리고 사용자 정의 셀 클래스에서 nstimer를 실행하여 nsuserdefaults 값을 읽고 자체 업데이트합니다. IT 부서는 1 개의 다운로드 작업을 수행하고 여러 개의 다운로드를 시도합니다 ... – Antiokhos

관련 문제