ios xamarin - So erstellen Sie NSIndexPath für TableView




custom cell (5)

Für Swift 3 ist es jetzt: IndexPath(row: rowIndex, section: sectionIndex)

Ich brauche Zeile 1 einer Tabelle in einer Funktion zu löschen, die ich definiert habe. Um deleteRowAtIndexPath zu verwenden, deleteRowAtIndexPath Sie einen IndexPath mit einem definierten Abschnitt und einer definierten Zeile verwenden. Wie kann ich einen Indexpfad wie diesen erstellen?

Ein Array mit dem int {1} als einzigem Element wird abstürzen; Die NSLog-Nachricht besagt, dass der Abschnitt ebenfalls definiert werden muss.

* Bearbeiten -> Code zum Löschen von Zellen:

    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];

Verwenden Sie [NSIndexPath indexPathForRow:inSection:] um schnell einen [NSIndexPath indexPathForRow:inSection:] zu erstellen.

Bearbeiten: In Swift 3:

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

indexPathForRow ist eine Klassenmethode!

Der Code sollte lauten:

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

Obligatorische Antwort in Swift: NSIndexPath(forRow:row, inSection: section)

Sie werden feststellen, dass NSIndexPath.indexPathForRow(row, inSection: section) in swift nicht verfügbar ist und Sie die erste Methode verwenden müssen, um den indexPath zu erstellen.


Sie müssen eine eigene PCH-Datei erstellen
New file -> Other-> PCH file

setting->prefix header->path dann den Pfad dieser PCH-Datei zu Ihrer Build- setting->prefix header->path

($ (SRCROOT) /Dateiname.pch)





ios iphone uitableview nsindexpath