簡體   English   中英

使用核心數據重新排列TableView單元格的順序

[英]Rearranging order of TableView cells using Core Data

我有一個自定義的UITableView類,該類處理表視圖的動畫,並使用表視圖中顯示的Array測試了以下代碼。

tableView.didMoveCellFromIndexPathToIndexPathBlock = {(fromIndexPath: NSIndexPath, toIndexPath: NSIndexPath) -> Void in

  self.objectsArray.exchangeObjectAtIndex(toIndexPath.row, withObjectAtIndex: fromIndexPath.row)

}

這對於基本數組可以正常工作,但是我實際上想重新排列NSSet類型的托管對象。 因此,在我的文件中,我聲明了以下創建返回以下類型的數組的類型,該類型由表視圖使用。

文件夾類功能:

 func itemArray() -> [Item] {
    let sortDescriptor = NSSortDescriptor(key: "date", ascending: true)
    return iist.sortedArrayUsingDescriptors([sortDescriptor]) as! [Item]
}

表格視圖控制器聲明

var itemArray = [Item]()
    itemArray = folder.itemArray() //class function to return a NSArray of the NSSET [Item]

我正在嘗試這樣做,以便在重新排列單元格時會更改NSSet的順序,以便在重新加載應用程序時將其保存,是否有人有任何建議?

根據定義,NSSet沒有順序,因此您沒有本機的方式來保留NSSet的順序。 我並不是說這是不可能的,但您不能按照自己的想法去做。

Apple的NSSet文檔中

NSSet,NSMutableSet和NSCountedSet類將編程接口聲明為對象的無序集合。

您將需要將NSSet轉換為NSMutableArray並引用該數組而不是NSSet。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM