gpt4 book ai didi

ios - 使用核心数据重新排列 TableView 单元格的顺序

转载 作者:搜寻专家 更新时间:2023-11-01 07:33:34 25 4
gpt4 key购买 nike

我有一个自定义的 UITableView 类,它处理 TableView 的动画,并使用显示在 TableView 中的 Array 测试了以下代码。

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

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

}

这适用于基本数组,但实际上我想重新排列 NSSet 类型的托管对象。因此,在我的文件中,我声明了以下创建返回 TableView 使用的 Item 类型数组的内容。

文件夹类函数:

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

TableView Controller 声明

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

我正在尝试这样做,以便在重新排列单元格时更改 NSSet 的顺序,以便在应用程序重新加载时保存它,有人有什么建议吗?

最佳答案

根据定义,NSSet 没有顺序,因此您没有本地方法来保留 NSSet 的顺序。我并不是说这不可能,但您不能按照自己的想法去做。

来自 Apple's NSSet Documentation :

The NSSet, NSMutableSet, and NSCountedSet classes declare the programmatic interface to an unordered collection of objects.

您需要将 NSSet 转换为 NSMutableArray 并引用该数组而不是 NSSet。

关于ios - 使用核心数据重新排列 TableView 单元格的顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31235314/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com