gpt4 book ai didi

ios - Swift:当didSelectRowAtIndexPath时如何更新Core Data中的数据?

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

我搜索了其他问题并提出了这个问题,因为我找不到适合我的问题。

我在核心数据中有一些数据,并希望在调用 didSelectRowAtIndexPath 时更新它。这是我的代码

class ViewController: UIViewController, UITableViewDelegate {

var todo = [NSManagedObject]()
var JSON = Data.sharedInstance

@IBOutlet var TableView: UITableView!

override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
self.JSON.JSONData {
SVProgressHUD.dismiss()
self.TableView.reloadData()
}
}

override func viewDidAppear(animated: Bool) {
super.viewDidAppear(animated)
let appDelegate = UIApplication.sharedApplication().delegate as! AppDelegate
let managedobject = appDelegate.managedObjectContext

let fetchrequest = NSFetchRequest(entityName: "ToDo")
do {
let results = try managedobject.executeFetchRequest(fetchrequest)
todo = results as! [NSManagedObject]

} catch {
print("error")
}
TableView.reloadData()

}
func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return todo.count
}

func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {

let cell = tableView.dequeueReusableCellWithIdentifier("Cell", forIndexPath: indexPath)

let state = todo[indexPath.row].valueForKey("state") as? Float
print(state)


if state == 0.0 {
cell.textLabel?.text = todo[indexPath.row].valueForKey("name") as? String
}
return cell
}

func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {

}

现在,当调用 didSelectRowAtIndexPath 时,我想将 cellForRowAtIndexPath 中可见的键“state”更新为 1.0

有人可以告诉我如何更新“state”的值吗?谢谢

最佳答案

创建一个新方法,例如reloadData,并移动用于从viewDidAppear获取对象的代码。在 didSelectRowAtIndexPath 中,执行如下操作:

todo[indexPath.row].updateValue(NSNumber(float: 1.0), forKey: "state") // Sample syntax only. Not sure if it is correct.
managedObjectContext.save()

reloadData()

关于ios - Swift:当didSelectRowAtIndexPath时如何更新Core Data中的数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39599583/

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