swift - 空 NSSet 上一对多结果的迁移关系

标签 swift core-data database-migration magicalrecord

我在迁移模型时遇到问题。

首先,我有一个用户发表了一篇文章。我做了这样的模型:

Model v1

现在,我为这样的模型制作了第二个版本:

Model v2

在我的 AppDelegate 中,我调用了 MagicalRecord.setupAutoMigratingCoreDataStack()

迁移成功,但是 user 上的文章列表是空的。

有谁知道如何使用上一篇文章在user上设置自动设置列表?

最佳答案

您应该将 user 上的关系类型设置为“To many”,并将 article 上的关系类型设置为“To one”。

这将为您提供数据库中的一对多关系,这意味着一个用户可以拥有多篇文章。

要访问第一个用户的文章数组,请使用:

let user = User.mr_findFirst()!
let articleList = user.article?.allObjects as! [Article]
for anArticle in articleList {
     // Do something here
}

或者在所有用户中:

let userList = User.mr_findAll() as! [User]
for user in userList {
     let articleList = user.article?.allObjects as! [Article]
     for anArticle in articleList {
          // Do something here
     }
}

关于swift - 空 NSSet 上一对多结果的迁移关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55924782/

相关文章:

asp.net-mvc-4 - 多个 Entity Framework 迁移

ios - alamofire 通过 SOAP 发送请求

swift - 如何在表格 View 中全局获取标题单元格

ios - 通过 WhatsApp URL 方案将 URL 作为文本传递

Grails 2.3 迁移脚本不会在集成测试期间运行

python - 为什么south要用迁移文件呢?

ios - 与 ROS 同步时仅删除本地 Realm

ios - 32 位 iOS 设备出现 CoreData 错误

swift - SwiftUI View和@FetchRequest谓词带有可以更改的变量

ios - 解包后,CoreDataStack 中的 ManagedObjectContext 返回 nil