Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios Swift 3中的引用实体属性(核心数据)_Ios_Swift_Core Data_Swift3 - Fatal编程技术网

Ios Swift 3中的引用实体属性(核心数据)

Ios Swift 3中的引用实体属性(核心数据),ios,swift,core-data,swift3,Ios,Swift,Core Data,Swift3,我遵循的是一个非常简单的swift课程,虽然所有的东西都适用于讲师,但同样的代码不会在我这边执行,我试图理解为什么会发生这种情况 该应用程序非常简单,包括将任务添加到具有名称的TableView中,以及确定这些任务是否重要的开关(在这种情况下,会将表情符号添加到名称中) 在尝试访问和修改我的“Taskentity”核心数据实体的“name”属性时,编辑器向我提供错误“类型为“Taskentity”的值没有成员“name” 代码如下: import UIKit class AddTaskView

我遵循的是一个非常简单的swift课程,虽然所有的东西都适用于讲师,但同样的代码不会在我这边执行,我试图理解为什么会发生这种情况

该应用程序非常简单,包括将任务添加到具有名称的TableView中,以及确定这些任务是否重要的开关(在这种情况下,会将表情符号添加到名称中)

在尝试访问和修改我的“Taskentity”核心数据实体的“name”属性时,编辑器向我提供错误“类型为“Taskentity”的值没有成员“name”

代码如下:

import UIKit

class AddTaskViewController: UIViewController {

@IBOutlet weak var textField: UITextField!

@IBOutlet weak var isImp: UISwitch!

override func viewDidLoad() {
    super.viewDidLoad()

    // Do any additional setup after loading the view.
}

@IBAction func btnTapped(_ sender: Any) {

    let context = (UIApplication.shared.delegate as! AppDelegate).persistentContainer.viewContext

    let task = Taskentity(context: context)
    task.name = textField.text! // **!error!**

    task.isImportant = isImp.isOn

    (UIApplication.shared.delegate as! AppDelegate).saveContext()

    navigationController!.popViewController(animated: true)
}
}

我的核心数据文件如下所示:


谢谢你的帮助

您的屏幕截图完美地显示了问题。您已将属性命名为
corename
,而不是
name
。因此,名称自然不是它的名称

您的属性有问题。名为“corename”的字符串应重命名为“name”Xcode,但无法说明.name的含义,因为您没有任何东西可以让Devi获得它的名称

我已经附上了解决此问题的代码外观:

import UIKit

class AddTaskViewController: UIViewController {

@IBOutlet weak var textField: UITextField!

@IBOutlet weak var isImp: UISwitch!

override func viewDidLoad() {
    super.viewDidLoad()

// Do any additional setup after loading the view.
}

@IBAction func btnTapped(_ sender: Any) {

let context = (UIApplication.shared.delegate as!     AppDelegate).persistentContainer.viewContext

let task = Taskentity(context: context)
task.corename = textField.text! // **!error!**

task.isImportant = isImp.isOn

(UIApplication.shared.delegate as! AppDelegate).saveContext()

navigationController!.popViewController(animated: true)
}
}