public override void ViewDidLoad() { base.ViewDidLoad(); Title = Resources.SiriShortcuts; DescriptionLabel.Text = Resources.SiriShortcutsDescription; HeaderView.RemoveFromSuperview(); TableView.TableHeaderView = HeaderView; HeaderView.TranslatesAutoresizingMaskIntoConstraints = false; HeaderView.WidthAnchor.ConstraintEqualTo(TableView.WidthAnchor).Active = true; HeaderView.InsertSeparator(); TableView.TableFooterView = new UIView(); var tableViewSource = new SiriShortcutsTableViewSource(TableView); TableView.Source = tableViewSource; refreshSubject .SelectMany(getAllShortcuts()) .SelectMany(toViewModels) .Select(toSections) .ObserveOn(new NSRunloopScheduler()) .Subscribe(TableView.Rx().ReloadSections(tableViewSource)) .DisposedBy(DisposeBag); tableViewSource.Rx().ModelSelected() .Subscribe(handleShortcutTap) .DisposedBy(DisposeBag); }