私はユーザーのお気に入りを格納するために使用するPlistファイル(バンドルの外)を持っています。読み込まれると、Plistがテーブルにロードされることが期待どおりに機能します。plistファイルをテーブルに再ロードする方法
ただし、Plistに新しい項目を追加すると、plistファイル(バンドルの外側)が更新されます。ログに示されているように、リロードテーブルビューがトリガされます。ただし、データはPlistから実際にリロードされず、既存の(配列)値のみを使用します。更新したPlistがテーブルに表示される場合は、アプリ全体を終了してリロードしない限り
元の配列を使用するのではなく、更新されたPlistから実際にテーブルをリロードする方法を教えてください。
ありがとうございました。
私はこのコードを使用して、Plist作業からデータを取得します。
NSMutableArray *rawFavArray = [[NSMutableArray alloc] initWithContentsOfFile:plistPath];
これを使用して、テーブル作業用のセル情報を作成するための配列を実行します。
return [favReloadArray objectAtIndex:indexPath.row];
私は(viewWillApear内)テーブルを再ロードするためにこれを使用 - 動作しない、ログをトリガーするが、PLISTをリロードしません。
[self.tableView reloadData];
私はplistの中のデータの変化を試してみてください - 私はこれを行うことができますが、すべての変更は、私はアプリを終了しない限り、表に表示して、再起動しません。
新しい項目で新しい配列を作成し、その配列をplistファイルに保存していて、配列を新しい内容としてtableviewに提供していないように思えます。ソースコードを含めるように質問を編集してください。そうすれば、どのように完了したのかがわかります。 –
reloadDataは、表示可能なセルを再ロードしてデリゲートメソッドを呼び出すようにUITableViewに通知します。配列やモデルオブジェクトはリロードされません。つまり、とにかくアプリの外側にあるplistを修正するべきではない - 特にiPhoneでは、ほとんど不可能になるだろう(jailbreakされない限り)。 –