2017-12-18 29 views
0
관찰 가능한

로 초기화 "버튼을 클릭하여 새 할 일을 추가하거나 편집 할 작업을 수정할 수 있습니다. 이것은 tableView이 자동으로 다시로드되지 않고 viewDidAppeartableView.reloadData()을 호출하도록 강요하는 것을 제외하고는 훌륭하게 작동합니다. 다른 화면을 닫으면 트리거됩니다.RxSwift 자동 재 장전 jQuery과 내가 Observables은 배열을 사용하는 인구가 몇 가지 왜 그렇게 함께 주요 <code>UITableView</code>이

그래서,

다음 todosViewModel 변수가를 업데이트 될 때 저를 자동으로 테이블을 다시로드하기위한 기본 방법이 있나요

?

편집 : 할 일의 판의 화면에 나도 같은 값으로 todosViewModelvalue 속성을 다시 연결하면

, 그것은 또한 작동합니다

꽤 추한
self.todosViewModel.todos.value = self.todosViewModel.todos.value 

하지만, 그 중 하나를 사용하여 tableView를 다시로드하는 방법 만 알고 있습니다.

+0

아이템을 저장하거나 편집 할 때'todos' 이벤트가 발생합니까? –

+0

직접적으로. 새로운'todo'를'append '하거나 새로운 값을'todos'베이스에 재 연관 시키면 작동합니다. 내가 편집 할 때, 아니. 나는'UITableView'를 채우는 모델에 이벤트를 어떻게 보내야할지 모른다. – juniorgarcia

답변

0

새 To Do를 추가하거나 기본 값 todos에 새 값을 다시 연결할 때 작동합니다. 내가 편집 할 때, 아니.

그게 전부입니다. UITableView을 업데이트하려면 내부의 항목을 편집하거나 셀 내에 todo의 내용을 바인딩해야 할 때 todos을 내야합니다. 이렇게하면 셀의 높이를 변경할 수 없지만 일부 동적 정보를 셀에 적용 할 수 있습니다).

또 다른 옵션은 관찰 할 수있는 부분을 todo에서지도의 셀 색인으로 매핑하고 UITableView.reloadRows을 호출하여 편집 한 셀을 업데이트하는 것입니다.

RxDataSources examples을 살펴 보시기 바랍니다.

+0

내가하는 일에 아무런주의 사항이나 성능 문제가 없다면, 나는 그것에 참을 수 있습니다. 내 경우에는 RxDataSource가 과잉이지만 어쨌든 살펴볼 것입니다. – juniorgarcia