Swift 4核心数据-获取关系

纳撒尼尔

我有这样的实体:

实体1

实体2

我这样保存数据:

@IBAction func saveButton(_ sender: UIButton) {
    print("save")
    guard let appDelegate = UIApplication.shared.delegate as? AppDelegate else {
        return
    }
    let context = appDelegate.persistentContainer.viewContext
    let workout = Workout(context: context)
    workout.name = workoutName.text
    workout.noOfSets = Int16(setsStepper.value)

    for index in 0..<setsVal {
        let sets = Sets(context: context)
        let test = IndexPath(row: index, section: 0)
        let cell = tableView.cellForRow(at: test) as! RepsTableViewCell
        sets.repAmount = Int16(cell.repsStepper.value)
        // Does this line not create the relationship between Workout and Set Entities?
        workout.addToSets(sets)
    }
    try! context.save()
}

我这样获取数据:

func fetch() {
    guard let appDelegate = UIApplication.shared.delegate as? AppDelegate else {
        return
    }
    let context = appDelegate.persistentContainer.viewContext
    let request = NSFetchRequest<NSFetchRequestResult>(entityName: "Workout")
    request.relationshipKeyPathsForPrefetching = ["Sets"]

    do {
        let result = try context.fetch(request)
        for data in result as! [NSManagedObject] {
            print(data.value(forKey: "name") as! String)
            print(data.value(forKey: "noOfSets") as! Int16)
        }
    }
    catch {
        print("failed")
    }
}

我已经将实体Workout和Sets之间的关系设置为一对多,但无法从Workout中检索Set的属性。

如何检索实体关系属性?

尽管在xcdatamodel文件中设置了关系,我是否仍需要以编程方式指定该关系?

Workout.addToSets(sets)是否创建实体之间的关系?

乔基姆·丹尼尔森(Joakim Danielson)

您应该能够将关系实体作为属性访问,例如

for workout in result as! [Workout] {
    print(workout.name)
    if let sets = workout.sets { //assuming you have name your to-many relationship 'sets'
        print(sets.count)
    }
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

核心数据-关系查询

来自分类Dev

Swift中的核心数据

来自分类Dev

与核心数据的关系故障

来自分类Dev

如何为对象创建谓词深层几个关系?核心数据iOS Swift

来自分类Dev

Swift的核心数据-父子关系

来自分类Dev

SWIFT的核心数据:如何从关系实体中删除对象?

来自分类Dev

iOS Swift-具有复杂数据关系的核心数据示例

来自分类Dev

如何在Swift中创建核心数据关系

来自分类Dev

关系的核心数据属性?

来自分类Dev

Swift:多对多关系和mutableOrderedSetValueForKey的核心数据问题

来自分类Dev

Swift 2.1核心数据-保存关系将创建一个空记录

来自分类Dev

核心数据与中间表多对多关系(Swift 2)

来自分类Dev

核心数据将数据添加到Swift中的关系

来自分类Dev

Swift-核心数据关系-专辑样式

来自分类Dev

将大型数据集导入核心数据,在Swift中建立关系

来自分类Dev

Swift核心数据NSFetchRequest谓词可获取日期时间

来自分类Dev

核心数据继承与关系

来自分类Dev

核心数据:获取关系或获取主要实体

来自分类Dev

核心数据:与关系混淆

来自分类Dev

Swift的核心数据-父子关系

来自分类Dev

Swift核心数据删除一对多关系中的条目

来自分类Dev

“ Swift核心数据”可以使用没有关系的多个实体吗?

来自分类Dev

Swift /如何通过valueForKey获取核心数据条目

来自分类Dev

Swift 3-从核心数据保存和获取图像

来自分类Dev

Swift - 核心数据容量

来自分类Dev

swift核心数据从一对多关系中获取对象

来自分类Dev

核心数据关系问题

来自分类Dev

使用核心数据 iOS swift4 获取已保存的 .sqlite 文件

来自分类Dev

获取所有关系数据 - 核心数据

Related 相关文章

热门标签

归档