我将发布我的代码,但我得到的错误是“无法将类型’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:更新现有核心数据对象所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)