UITableView コントロールを使用して、ユーザーが編集できるデータを表示しています。詳細を編集するには、ユーザーが編集ボタンをタップして、新しいビューをスタックにプッシュします。ユーザーがデータを編集し、保存ボタンをタップすると、データが plist に保存され、ビューがスタックからポップされます。plist が更新されても、UITableView にはまだ古いデータが表示されます。これは、viewWillAppear メソッドに reloadData の呼び出しを追加することで修正できます。しかし、ビューが最初にロードされたとき、データは正しく表示されますが、reload ステートメントを追加することによって、これは二重バインドを意味しますか? もしそうなら、どうすればこれを回避できますか?
reloadData を明示的に呼び出さずに強制的に更新する次のコード ( here ) を見つけました。
- (void) viewWillAppear:(BOOL)animated
{
[super viewWillAppear:animated];
int orientation = [[UIDevice currentDevice] orientation];
if(orientation != UIDeviceOrientationUnknown)
[self willRotateToInterfaceOrientation:orientation duration:0];
}
これがどのように/なぜ機能するのか、誰でも説明できますか?