วิธีสร้าง NSIndexPath สำหรับ TableView


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)ไม่มีใน swift และคุณต้องใช้วิธีแรกในการสร้าง indexPath


โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.