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

我一直在创建一个项目,只是为了帮助我自己学习核心数据,但是我来到了每个项目的一部分,我根本无法解决这个问题,这里是 – 我正在尝试创建一个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()

}

相关文章

我正在用TitaniumDeveloper编写一个应用程序,它允许我使用Ja...
我的问题是当我尝试从UIWebView中调用我的AngularJS应用程序...
我想获取在我的Mac上运行的所有前台应用程序的应用程序图标....
我是一名PHP开发人员,我使用MVC模式和面向对象的代码.我真的...
OSX中的SetTimer在Windows中是否有任何等效功能?我正在使用...
我不确定引擎盖下到底发生了什么,但这是我的设置,示例代码和...