ios – SWIFT:更新现有核心数据对象

ios – SWIFT:更新现有核心数据对象,第1张

概述我一直在创建一个项目,只是为了帮助我自己学习核心数据,但是我来到了每个项目的一部分,我根本无法解决这个问题,这里是 – 我正在尝试创建一个UIAlert窗口,调用我写的更新名称函数,用户可以输入新名称并点击更新,看起来很容易,而且我有我需要的代码,减去一小块. 我将发布我的代码,但我得到的错误是“无法将类型’String’的值转换为预期的参数类型’NameObject’”,我明白,我的NameOb 我一直在创建一个项目,只是为了帮助我自己学习核心数据,但是我来到了每个项目的一部分,我根本无法解决这个问题,这里是 – 我正在尝试创建一个UIAlert窗口,调用我写的更新名称函数,用户可以输入新名称并点击更新,看起来很容易,而且我有我需要的代码,减去一小块.

我将发布我的代码,但我得到的错误是“无法将类型’String’的值转换为预期的参数类型’nameObject’”,我明白,我的nameObject类是NSManagedobject类型,我只是不确定在哪里我错了或做了什么.

class nameObject: NSManagedobject {static let entityname = "Person"@NSManaged var name: String?}`class nameObject: NSManagedobject {static let entityname = "Person"@NSManaged var name: String? }

这是我的更新功能

func updatename(index: Int,newname: nameObject){    //1    let appDelegate = UIApplication.sharedApplication().delegate as! AppDelegate    // 2    peoples[index].name = newname.name    appDelegate.saveContext()}

据我所知,它完全正常.

这是我的UIAlert代码,

@IBAction func updatenamebutton(sender: AnyObject,indexPath: NSIndexPath) {        //customCell().updatenameAlert()    func updatenameAlert(){        let alert = UIAlertController(Title: "Update",message: "Please enter the new name.",preferredStyle: .Alert)        // 1        let updateAction = UIAlertAction(Title: "Save",style: .Default){(_) in                                            let nameTextFIEld = alert.textFIElds![0]

这是我遇到问题的地方:

self.updatename(indexPath.row,newname:(nameTextFIEld.text!)) //Issue            self.tableVIEw.reloadData()        }        // 2        let cancelAction = UIAlertAction(Title: "Cancel",style: .Cancel,handler: nil)        alert.addTextFIElDWithConfigurationHandler(nil)        alert.addAction(updateAction)        alert.addAction(cancelAction)        // 3        self.presentVIEwController(alert,animated: true,completion: nil)    }}

如果需要任何进一步的信息,请告诉我;如果它有帮助我很乐意提供它.

解决方法 只需更改签名即可为参数newname获取字符串,
这就是错误信息所说的内容.

func updatename(index: Int,newname: String){   let appDelegate = UIApplication.sharedApplication().delegate as! AppDelegate   peoples[index].name = newname   appDelegate.saveContext()}
总结

以上是内存溢出为你收集整理的ios – SWIFT:更新现有核心数据对象全部内容,希望文章能够帮你解决ios – SWIFT:更新现有核心数据对象所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1003587.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-22
下一篇 2022-05-22

发表评论

登录后才能评论

评论列表(0条)

保存