選択時にviewControllerをスタックにプッシュするセルを持つUITableViewがあります。子の viewController はユーザー入力を受け取り、スタックからポップします。
子のviewControllerがポップされたら、親のtableViewで選択したセルの値を更新し、行の選択を解除します。reloadData を使用してセルを更新でき、deselectRowAtIndexPath を使用して行を選択解除できますが、両方を同時に行うことはできません。
これがなぜなのか理解しています.reloadDataはセルを暗黙的に選択解除し、deselectRowAtIndexPathはセルを明示的に選択解除しますが、同じリロード/選択解除動作を実現したい人が見つからないのは不思議です. ここで何が欠けていますか?
すべてのコードは viewWillAppear:animated にあります - deselectRowAtIndexPath を viewWillAppear に、reloadData を viewDidAppear に配置すると、近づくことができますが、これは私が望むものではありません。