定義した関数のテーブルの1行目を削除する必要があります。 deleteRowAtIndexPath
を使用するには、セクションと行が定義されたIndexPath
を使用する必要があります。このようなインデックスパスを作成するにはどうすればいいですか?
唯一のメンバーとしてint {1}を持つ配列はクラッシュします。 NSLogメッセージには、セクションも定義する必要があることが記載されています。
*編集 - >セル削除に関するコード:
NSIndexPath *myIP = [[NSIndexPath alloc] indexPathForRow:0 inSection:0];
NSArray *myArray = [[NSArray alloc] initWithObjects:myIP, nil];
// [self.tableView beginUpdates];
[self.tableView deleteRowsAtIndexPaths:myArray withRowAnimation:UITableViewRowAnimationFade];
// [self.tableView endUpdates];
インデックスパスをすばやく作成するには[NSIndexPath indexPathForRow:inSection:]
を使用してください。
編集: Swift 3では:
let indexPath = IndexPath(row: rowIndex, section: sectionIndex)
indexPathForRow
はクラスメソッドです!
コードは次のようになります。
NSIndexPath *myIP = [NSIndexPath indexPathForRow:0 inSection:0] ;
Swiftの必須の答え:NSIndexPath(forRow:row, inSection: section)
NSIndexPath.indexPathForRow(row, inSection: section)
はSwiftでは利用できないことに気付くでしょう。そして最初のメソッドを使ってindexPathを構築しなければなりません。
Swift 3では、IndexPath(row: rowIndex, section: sectionIndex)
です。