ios - 如何使用一对多关系将数据添加到核心数据?

标签 ios swift swift2

我想在一周的记录中添加一天。我已经在 xcode 中设置了实体和关系,但是不确定下一步。

我认为我需要手动设置自动生成的外键字段是否正确?

目前我的dat保存代码如下:

    if let managedObjectContext = (UIApplication.sharedApplication().delegate as? AppDelegate)?.managedObjectContext{
        day = NSEntityDescription.insertNewObjectForEntityForName("Days", inManagedObjectContext: managedObjectContext) as! Days
        day.day = text!
        day.restDay = restday

        do{
            try managedObjectContext.save()
            print("saved a day to SQLite")
        } catch {
            print(error)
            return
        }
    }

模型 enter image description here

最佳答案

如果您为此模型自动生成代码(通过让 XCode 创建 NSManagedObject 的子类),那么您就已经准备就绪。在创建 Days 实例时,您需要做的就是拥有可用的 Weeks 实例(例如,作为函数的参数),并在保存上下文之前添加此行:

day.dayWeek = week // assuming 'week' is an existing instance of Weeks

这会将 Weeks 实例添加到您的 Days 实例,并自动将您的 Days 实例添加到 Days 的(未)有序集合 Days 在同一个 Weeks 实例中。

关于ios - 如何使用一对多关系将数据添加到核心数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38187742/

相关文章:

ios - 将自定义类转换为 NSDictionary

swift - 在 swift spritekit 中更改定时器的时间间隔

ios - Swift:如何在没有属性字符串的情况下在 TextView 中显示粗体字

ios - 从 Swift 中的 PopOver UITableViewCell 选择更改 UITextField 中的值

iphone - iAd 委托(delegate)不起作用。

ios - 使用 didBeginDragging

ios - 从 iCloud 文件中取消归档对象时出错

ios - 单击后退按钮时如何传递数据?

ios - 段错误: 11 with swift

iOS 13 - 推送时的 Buggy 大标题 UINavigationBar