ReactiveUI를 사용하는 앱에서 몇 가지 작업을 해왔습니다.UITableViewCells에서 바인딩을 처리하는 방법
제 문제는 UITableViews와 셀 재사용입니다. ReactiveTableViewSource를 사용해 보았지만 원하는 커스터마이징 레벨 (사용자 정의 헤더 및 푸터 뷰)을 제공하지 못하는 것 같습니다.
그래서 UITableViewSource 및 UITableViewCell을 사용하고 IViewFor를 구현했습니다. 그런 다음 각 세포에서 결합을 수행했습니다.
잘 작동하지만 셀을 다시 사용할 때마다 새로운 ViewModel에 "다시 바인딩"할까봐 걱정됩니다. 나는 내가 그 주변에서 일했다고 믿지만, 나는 그것을 할 수있는 더 좋은 방법이 있다고 확신한다. 내가 사용
코드 (단지 관련 비트) :
public partial class FlavourTableViewCell : UITableViewCell, IViewFor<MenuItemViewModel.FlavourSetItemViewModel>
{
public MenuItemViewModel.FlavourSetItemViewModel ViewModel { get; set; }
object IViewFor.ViewModel { get { return ViewModel; } set { ViewModel = (MenuItemViewModel.FlavourSetItemViewModel)value; } }
List<IDisposable> bindings = new List<IDisposable>();
// Called when new data should be shown in cell
internal void Update (MenuItemViewModel.FlavourSetItemViewModel data, MenuItemViewModel.FlavourSelectionEnum type)
{
ViewModel = data;
// Clear old bindings
if (bindings.Any()) {
bindings.ForEach (x => x.Dispose());
bindings.Clear();
}
bindings.Add (this.Bind (ViewModel, x => x.IsSelected, view => view.SelectionButton.Selected));
}
}
추가 정보 :
FlavourSetItemViewModel
이 FlavourSetItemViewModel
의 목록이 포함되어 있습니다. 나는 아래에 설명하려고합니다 :
- FlavourSetItemViewModel을 - 섹션 이름을
- FlavourSetItemViewModel을 가지고 - 항목 이름을
- FlavourSetItemViewModel을 가지고 - 항목 이름을
- FlavourSetItemViewModel을 가지고 - 항목 이름을
- FlavourSetItemViewModel을 가지고 - 상품명이 있습니다
- 풍미 etItemViewModel은 - 섹션 이름을
- FlavourSetItemViewModel을 가지고 - 항목 이름을 가지고
이것은 유망 해 보입니다. 그러나 나는 동적 인 섹션을 가지고있다. 그 어떤 힌트라도? – angak
답변에 추가했습니다. – Qonstrukt
분명히 내 모든 뇌 세포가 오늘 일하는 것은 아닙니다. 'TableSectionInformation' 구현에 대해 자세히 설명해 주시겠습니까? – angak