void HandleRemoteConfigFetchCompletionHandler(RemoteConfigFetchStatus status, NSError error) { switch (status) { case RemoteConfigFetchStatus.Success: AppDelegate.ShowMessage("Config Fetched!", "Settings will be updated", NavigationController, OkAction); break; case RemoteConfigFetchStatus.Throttled: case RemoteConfigFetchStatus.NoFetchYet: case RemoteConfigFetchStatus.Failure: AppDelegate.ShowMessage("Config not fetched...", error.LocalizedDescription, NavigationController, null); break; } UIApplication.SharedApplication.NetworkActivityIndicatorVisible = false; void OkAction() { remoteConfig.Activate(); var indexPaths = TableView.IndexPathsForVisibleRows; foreach (var indexPath in indexPaths) { var cell = TableView.CellAt(indexPath) as SettingTableViewCell; var enabled = indexPath.Row == 0 ? remoteConfig ["perf_enable_auto"].BoolValue : remoteConfig ["perf_enable_manual"].BoolValue; cell.SetEnabled(enabled, true); } } }