gpt4 book ai didi

ios - 使用 Swift 自动重新排序 Core Data 中的 UICollectionView

转载 作者:搜寻专家 更新时间:2023-10-31 08:06:07 27 4
gpt4 key购买 nike

我有一个使用 UICollectionView 的应用程序,当用户点击并按住一个单元格时,它允许用户四处移动并重新排序该单元格的位置(类似于 iOS 允许您在主屏幕上重新排序应用程序的方式) .

当然,顺序的更改不会保存,当您离开 View 再回来时,它会恢复到原来的顺序。我的印象是有一种方法可以自动在 UITableView 中保存新的单元格顺序,而无需在 Core Data 中明确写出所有内容。

如何在 UICollectionView 中执行此操作?或者这是不可能的,我必须手动将所有内容写入核心数据?

编辑:当前相关代码:

@IBOutlet weak var groupCollection: UICollectionView!
var longPressGesture : UILongPressGestureRecognizer?
var newGroupOrderNum : Int?
let indexPath : IndexPath = []
var aryGroup : NSMutableArray!

func handleLongGesture(gesture: UILongPressGestureRecognizer) {

switch(gesture.state) {

case UIGestureRecognizerState.began:
guard let selectedIndexPath = self.groupCollection.indexPathForItem(at: gesture.location(in: self.groupCollection)) else {
break
}
groupCollection.beginInteractiveMovementForItem(at: selectedIndexPath)
case UIGestureRecognizerState.changed:
groupCollection.updateInteractiveMovementTargetPosition(gesture.location(in: gesture.view!))
case UIGestureRecognizerState.ended:
groupCollection.endInteractiveMovement()
var timestamp: Date {
return Date()
}
let creationTime = timestamp

let appDelegate = UIApplication.shared.delegate as! AppDelegate
let managedContext = appDelegate.managedObjectContext
let entity = NSEntityDescription.entity(forEntityName: "Group", in:managedContext)
let group = NSManagedObject(entity: entity!, insertInto: managedContext)

let orderChangeGroup = aryGroup.object(at: indexPath.row)
group.setValue(orderChangeGroup, forKey: "groupOrderNum")

do {
try managedContext.save()
}
catch let error as NSError {
print("Could not save \(error), \(error.userInfo)")
}

group.setValue(creationTime, forKey: "creationTime")
default:
groupCollection.cancelInteractiveMovement()
}
}

最佳答案

我认为您需要在订购完成后手动将其保存到 Core Data:

let context = self.fetchedResultsController.managedObjectContext
let event = self.fetchedResultsController.object(at: indexPath)
event.ordering = indexPath.row
do { try context.save() }
catch { }

关于ios - 使用 Swift 自动重新排序 Core Data 中的 UICollectionView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41388523/

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