0

私が開発しているiOSアプリにはUITableView、ローカルデータストアからのオブジェクトが取り込まれています(これをサブクラス化PFTableViewControllerしました)。特定の行の削除ボタンをタップするとオブジェクトの固定が解除されるように設定しましたが、ボタンをタップした後もオブジェクトはテーブルに表示されたままです。非表示にする唯一の方法は、プルダウンして更新するか、戻るボタンを押してからこのビューに戻ることです。

電話[tableview reloadData]をかけてみましたが、リフレッシュ[self loadObjects]しようとしましたが、うまくいきません。UITableView私も試しまし [tableView deleteRowsAtIndexPaths:[NSArray arrayWithObject:indexPath] withRowAnimation:UITableViewRowAnimationFade]たが、「セクション 0 の行数が無効です」というエラーが発生するだけです。

オブジェクトがテーブルに表示されないように、削除ボタンによってアプリがオブジェクトの固定を解除し、行を削除/データを更新するように設定するにはどうすればよいですか? ありがとう。コードは次のとおりです。

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
// Return the number of rows in the section.
return [self.objects count];
}

- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath {
    if (editingStyle == UITableViewCellEditingStyleDelete) {
        //add code here for when you hit delete
        NSInteger row = [tableView.indexPathForSelectedRow row];
        PFObject *delProfessor = [self.objects objectAtIndex:row];
        [delProfessor unpinInBackground];

        //These are the three ideas I've tried so far
        //[tableView deleteRowsAtIndexPaths:[NSArray arrayWithObject:indexPath] withRowAnimation:UITableViewRowAnimationFade];
        //[tableView reloadData];
        //[self loadObjects];
    }
}
4

1 に答える 1

0

self.objects 配列のデータソースからオブジェクトを削除する必要があります

[self.objects removeObjectAtIndex: indexPath.row]; [self.tableView reloadData];

于 2015-08-07T10:08:17.853 に答える