tableview1.row から、大量の行がフェッチされている tableview2 に移動しています。ロード時間が約 3 秒であることを考えると、tableview1.row が選択されるとすぐにナビゲーションが tableview2 にスライドし、データがフェッチされて基になるテーブル ビューにレンダリングされる間、tableview2 の上に UIActivityIndicatorView を表示する必要があります。tableview2 は実際には親 UIView のサブビューであることに注意してください (親が UITableView であるのとは対照的です)。
この投稿を見ました: UITableView1 から UITableView2 に移動するときに、アクティビティ インジケーターを表示する必要があります。
... これは、データ フェッチに関するアクティビティ インジケーターの start および stopAnimating 呼び出しを tableview2 の viewDidLoad に追加するように指示します。
つまり、tableview2が目に見えてスライドする前にviewDidLoadが実行されて完了すると、上記のソリューションがどのように機能するかわかりません。
これとは別に、IB の tableview2 にアクティビティ インジケーターを追加してみました。また、IBOutlet インジケーターの開始/停止アニメーション コードを viewDidAppear に追加しました。何が起こるかというと、データ フェッチが実行され、インジケーターが回転していることがわかりますが、フェッチの最後にテーブル ビューが空になります。cellForRowAtIndexPathなどがすでに起動しているため、viewDidAppearが遅すぎてテーブルビューにデータを追加できないようです。
誰でもポインタを提案できますか? ここで明らかな何かを見落としている可能性が非常に高いです (私がいる場所は午前 5 時近くで、脳がドロドロしていると思います)。viewDidAppear から cellForRowAtIndexPath などを再トリガーする必要がありますか? テーブル ビューが親ビューではなくサブビューであるという問題はありますか?
ありがとう