0

私のプロジェクトは大規模なもので、どのコード スニペットが問題を引き起こしているのかわからないので、問題について説明します。UITableView.このビューには がありnavigation bar、ボタンの 1 つが " edit" ボタンです。「編集」ボタンを押すと、別の UITableView があるモーダル ビュー コントローラーに移動します。これUITableViewには、チェックリスト (複数のアイテムを選択 [チェック] または選択解除できる) であるという属性がありtable viewます。アイテムの選択が完了すると、選択したオブジェクトの配列が [NSUserDefault.今、元のページに戻ります] に保存されます。選択したものの配列が に表示されるはずです。そのデータをUITableView供給している配列を、 から取得した配列に変更します。UITableViewNSUserDefaults[tableView reloadData]そして何も変わらない。ヒントをいただければ幸いです。コードのどの部分が私を悲しませているか知っていると思われる場合は、返信してください。投稿します. ありがとう(ちなみに、メインview controllerdelegateofにする必要があることはわかっていますmodal view controllers)。前もって感謝します。

4

2 に答える 2

1

[[NSUserDefaults standardUserDefaults] synchronize];モーダル ビュー コントローラーで変更を行った後に呼び出します。これにより、変更が保存されます。

表の行が再ロードされるたびに、セルの内容を必ず更新してください。

- (void)configureCell:(UITableViewCell *)cell atIndexPath:(NSIndexPath *)indexPath
{
    Bleh *data = (Get your data for this row);

    cell.textLabel.text = data.myValue;
    cell.imageView.image = data.myImage;
}

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    static NSString *CellIdentifier = @"Cell";

    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
    if (cell == nil) {
        cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleValue1 reuseIdentifier:CellIdentifier];
    }

    [self configureCell:cell atIndexPath:indexPath];

    return cell;
}
于 2012-08-18T16:39:12.660 に答える
0

メソッド呼び出しから戻ったら、 tableviewonをリロードしてみてくださいviewwillappearmodelviewcontroller

- (void)viewWillAppear:(BOOL)animated{
[yourTableView reloadData];
}
于 2013-09-21T11:23:21.207 に答える