TableViewのNSIndexPathを作成する方法


243

定義した関数のテーブルの行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];

回答:


646

[NSIndexPath indexPathForRow:inSection:]インデックスパスをすばやく作成するために使用します。

編集: Swift 3の場合:

let indexPath = IndexPath(row: rowIndex, section: sectionIndex)

スウィフト5

IndexPath(row: 0, section: 0)

118

indexPathForRow クラスメソッドです!

コードは次のようになります。

NSIndexPath *myIP = [NSIndexPath indexPathForRow:0 inSection:0] ;

18

Swiftでの義務的な答え: NSIndexPath(forRow:row, inSection: section)

あなたはそれがわかりますNSIndexPath.indexPathForRow(row, inSection: section)迅速に利用できず、あなたがindexPathを構築するために最初のメソッドを使用する必要があります。


17

Swift 3の場合: IndexPath(row: rowIndex, section: sectionIndex)

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.