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