无法在具有 MagicalRecord [核心数据] 的实体中分配给 ...
Posted
技术标签:
【中文标题】无法在具有 MagicalRecord [核心数据] 的实体中分配给 ...【英文标题】:Cannot assign to ... in Entity with MagicalRecord [Core Data] 【发布时间】:2015-06-01 21:56:55 【问题描述】:我正在使用 MagicalRecord 在我正在创建的简单 Swift 应用程序中创建和查询核心数据实体。我有一个使用文本字段中的数据创建实体的基本视图。当我尝试设置实体名称时出现以下错误(我们称之为参考):Cannot assign to 'name' in 'referenceEntity'
这是保存实体的保存按钮:
@IBAction func saveBtn()
var referenceEntity = Reference.MR_createEntity()
referenceEntity.name = nameTxt.text
我做错了什么?
谢谢!
【问题讨论】:
【参考方案1】:首先我要说的是,Core Data 是一个非常强大的框架,用于持久化和维护对象图
第一步,你需要一个数组来保存数据例如:
var referenceEntities: [referenceEntity]!
第二步将在您的SaveBtn()
:
let referenceEntity = referenceEntity.MR_createEntity() as referenceEntity
第三步是为referenceEntity.name:
赋值
referenceEntity.name = nameTxt.text
但是等等,我们还没有将我们的名字存储在数组中,让我们来吧:
referenceEntities.append(referenceEntity)
最后我们必须将我们的数据保存到数据库中,当您使用 MagicalRecord 时,语法将是:
NSManagedObjectContext.MR_defaultContext().MR_saveToPersistentStoreAndWait()
P.S 此语法适用于 MagicalRecord 2.3 及更高版本
希望这些信息对某人有所帮助。
【讨论】:
以上是关于无法在具有 MagicalRecord [核心数据] 的实体中分配给 ...的主要内容,如果未能解决你的问题,请参考以下文章
带有primaryRelationshipKey的MagicalRecord
使用 MagicalRecord 在核心数据中映射和发布实体
MagicalRecord 重新启动应用程序时删除核心数据存储