2017-02-07 1 views
0

두 가지 뷰가 있습니다. 첫 번째보기에는 폴더 이름 및 검색 버튼 목록이 있습니다. (tableview), 두 번째보기 사용자가 내 서버에서 파일을 검색하고 다운로드 할 수 있습니다. 두 번째 tableview 파일 이름, 진행률 표시 줄 및 다운로드 단추가 있습니다.두 번째로드 후 테이블 뷰 업데이트 셀 값

사용자가 첫 번째보기에서 검색 버튼을 클릭 한 다음 파일 이름을 검색하고 다운로드 버튼을 클릭하면 다운로드 진행률이 시작됩니다. 이 프로세스가 작동 중이며 진행 값이 변경된 것을 볼 수 있습니다.

처음보기로 돌아가서 두 번째보기를 열고 다운로드 프로세스를 시작할 때 진행률 막대 값을 변경할 수 없습니다.

코드가 작동하는 것을 볼 수 있고 tableview 행을 업데이트하려고하지만 그렇지 않습니다. (나는 내 ​​코드가 cellForRowAt indexPath 메소드를 호출하는 것을 볼 수있다)

내 코드의 문제점은 무엇인가? 왜 테이블 뷰 행에서 값을 업데이트 할 수 없습니까?

내 업데이트 코드 :

let indexPath = IndexPath(row: 2, section: 0) 
tableView.beginUpdates() 
self.tableView.reloadRows(at: [indexPath], with: UITableViewRowAnimation.automatic) 
tableView.endUpdates() 

나는 전화 재 장전있는 tableview 행보다 첫 번째 모델을 업데이트하고 있습니다. 코드 :

dataArray[cellNum].progressValue = taskProgress 

//의 tableview cellforRowAt : 당신이 당신의 진행률 표시 줄의 값을 처리하려면 어떻게

let cell = self.tableView.cellForRow(at: indexPath) as! SearchListCell! 
let progressInfo = self.dataArray[indexPath.row] 
cell?.circularProgress.angle = progressInfo.progressValue 
+0

코드 작업 및 UI 이미지를 추가하십시오. –

답변

0

:

let identifier = "Cell" 
let cell = tableView.dequeueReusableCell(withIdentifier: identifier, for: indexPath) as! SearchListCell 

cell.circularProgress.angle = dataArray[indexPath.row].progressValue 
cell.titleLabel.text = dataArray[indexPath.row].title 

return cell 

또한 내가 가진 업데이트 행을 시도?

막대 값이 포함 된 변수를 수행 한 다음 cellForRowAt에 셀 진행 막대 값을 해당 변수로 설정할 수 있습니다. 이미이 작업을 수행했다면 더 많은 코드를 보여주십시오. 희망이 도움이됩니다!

+0

답변 주셔서 감사합니다. 나는 배열 모델을 가지고 있고 그것에 progres 값이있다. 사용자가 다운로드 프로세스를 시작할 때 진행 값을 변경하고 테이블 뷰 관련 행을 다시 표시합니다. 진행 값을 얻고 대리인을 통해 모델에서 변경합니다. 테이블 뷰 행을 새로 고칠 때 모델에서 올바른 데이터를 볼 수 있습니다. 모든 것이 좋지만 테이블 뷰에서는 데이터를 볼 수 없습니다. (처음 열면 이전 페이지로 돌아가서 다시 다운로드 페이지를 열면 데이터가 변경되지 않습니다. (다운로드 프로세스가 다운로드되고 Alos 모델 데이터가 맞습니다)) – John

+0

cellForRowAt를 알려주십시오. –

+0

내 게시물을 업데이트하고 코드를 추가했습니다. – John