private void SubscribeToViewModel() { ShouldDispose( ViewModel.ContactList.Changed .Where(list => list != null && list.NewItems.Count > 0) .ObserveOn(RxApp.MainThreadScheduler) .Subscribe(newList => { NSIndexPath[] indexes = new NSIndexPath[newList.NewItems.Count]; for (int i = newList.NewStartingIndex; i < newList.NewItems.Count; i++) { indexes[i] = NSIndexPath.FromRowSection(i, 0); } UserTable.BeginUpdates(); UserTable.InsertRows(indexes, UITableViewRowAnimation.Fade); UserTable.EndUpdates(); }) ); }