无法在具有 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 重新启动应用程序时删除核心数据存储

如何在 MagicalRecord saveWith Block 之外创建核心数据实体

使用 MagicalRecord 进行核心数据加密

MagicalRecord:删除整个数据并再次设置核心数据堆栈