gpt4 book ai didi

swift - 在 UITableViewCell 中按下按钮后获取 NSManagedObject 的一个属性

转载 作者:行者123 更新时间:2023-11-30 13:55:15 25 4
gpt4 key购买 nike

我正在使用核心数据,并且我有一个 tableView 来显示所有用户的批准

我正在使用 NSFetchedResultsController 从核心数据获取批准

我添加了这些方法,当通知委托(delegate)内容将更改时使用这些方法,我们告诉 tableView 开始更新

func controllerWillChangeContent(controller: NSFetchedResultsController) {
tableView.beginUpdates()
}

func controllerDidChangeContent(controller: NSFetchedResultsController) {
tableView.endUpdates()
}

func controller(controller: NSFetchedResultsController, didChangeSection sectionInfo: NSFetchedResultsSectionInfo, atIndex sectionIndex: Int, forChangeType type: NSFetchedResultsChangeType) {
// 1
switch type {
case .Insert:
tableView.insertSections(NSIndexSet(index: sectionIndex), withRowAnimation: .Automatic)
case .Delete:
tableView.deleteSections(NSIndexSet(index: sectionIndex), withRowAnimation: .Automatic)
default: break
}
}

func controller(controller: NSFetchedResultsController, didChangeObject anObject: AnyObject, atIndexPath indexPath: NSIndexPath?, forChangeType type: NSFetchedResultsChangeType, newIndexPath: NSIndexPath?) {
// 2
switch type {
case .Insert:
tableView.insertRowsAtIndexPaths([newIndexPath!], withRowAnimation: .Automatic)
case .Delete:
tableView.deleteRowsAtIndexPaths([indexPath!], withRowAnimation: .Automatic)
default: break
}
}

我的理解:NSFetchtedResultsController 可以监视 NSManagedObject 上下文的更改并更新表格以反射(reflect)这些更改

tableViewCell中,我有“再次查询”按钮,它将更新审批状态

这是ApprovalObject类:

public class ApprovalObject: NSManagedObject {

@NSManaged public var reference_no: NSNumber
@NSManaged public var status: String
@NSManaged public var date: NSDate
@NSManaged public var card: Card
@NSManaged public var hospital: Hospital

}

我的问题是:按下 tableViewCell 中的按钮后如何获取特定“ApprovalObject”的“status”属性值?我可以直接调用 tableView.beginUpdates() 吗??

@IBAction func inquireApprovalBtn(sender: AnyObject) {
// what should i do here ???
}

最佳答案

修改你的数据对象就足够了,例如ApprovalObject 实例的status(如果需要,请保存)。 NSFetchedResultsControllerDelegate 应该接受并更新有问题的单元格。

当然,您在某个时候删除了委托(delegate)回调中 switch 语句中的 .Change 情况。确保将其放回原处。(您可以从“Master-Detail”Xcode 模板复制它。)

关于swift - 在 UITableViewCell 中按下按钮后获取 NSManagedObject 的一个属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33710374/

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