0

から行を削除しようとすると、UITableView残っている最後の行を削除する場合を除いて、すべて正常に機能(at index 0,0)します。この場合、次のエラーが表示されます

The number of sections contained in the table view after the update 
(0) must be equal to the number of sections contained in the table
view before the update (1), plus or minus the number of sections
inserted or deleted (0 inserted, 0 deleted).'

これは、到達した直後に発生します。

[tableView endUpdates];

行削除機能の直後です。

deleteRowsAtIndexPaths関数が機能しない理由は何ですか? を確認したindexPathところ、正常に 0,0 が表示されています。

ありがとう

4

1 に答える 1

1

行を削除したら、メソッドを確認する必要があります。

 - (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView

適切な量​​のセクションを返します-この場合、行を削除してもセクションは同じままである必要があります-エラーに従って、その関数によって返される値を減らしています。

この方法も

 - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section

1 つの行を削除した後、適切な値 (行 - 1) を返す必要があります。

問題がどこにあるかを正確に特定できるように、さらにコードを貼り付けます。

于 2013-10-08T12:20:40.257 に答える