ios - 为核心数据 swift ios 中的子子项添加值(value)

标签 ios swift core-data

我已经尝试了很多,研究了很多,但从未找到这个问题或类似教程的答案,我有类似 firebase 的数据库,请参阅下面的树。如何将数据存储到 Core data

中这样的子子项中

enter image description here

我想要的与上面类似的是

 Model->Form 
        |
        --> Model-FormElements
        |         |
        |         -->TextField
        |                |
        |                --> textField1
        |                --> textField2
        |                --> textFiedl3
        --> Model-FormData
        |         |
        |         -->TextFieldName
        |                |
        |                --> FullName
        |                --> Email
        |                --> City

然后我想创建不同类型的表单,其中一些有按钮和标题或标签和标题

到目前为止我所做的是将对象插入新实体而不是实体的子实体中:

  @IBAction func saveAction(_ sender: Any) {

        let appDel:AppDelegate = (UIApplication.shared.delegate as! AppDelegate)
        let context:NSManagedObjectContext = appDel.persistentContainer.viewContext
        let formDataEntity = NSEntityDescription.insertNewObject(forEntityName: "FormElements", into: context) as NSManagedObject

        formDataEntity.setValue(textFieldElement, forKey: "textField")
        formDataEntity.setValue(buttonElement, forKey: "button")
        formDataEntity.setValue(labelElement, forKey: "label")
        formDataEntity.setValue(sectionElement, forKey: "section")
        formDataEntity.setValue(dateElement, forKey: "date")
        formDataEntity.setValue(textViewElement, forKey: "textView")
        formDataEntity.setValue(textViewNameElement, forKey: "textViewName")
        formDataEntity.setValue(signViewElement, forKey: "signView")
        formDataEntity.setValue(signViewNameElement, forKey: "signViewName")
        formDataEntity.setValue(imageElement, forKey: "imageView")
        formDataEntity.setValue(imageNameLabelElement, forKey: "imageViewName")
        formDataEntity.setValue(checkBoxElement, forKey: "checkBox")
        formDataEntity.setValue(spaceElement, forKey: "space")


        //extra formData saving of names to elements
        let formDataNameEntity = NSEntityDescription.insertNewObject(forEntityName: "FormData", into: context) as NSManagedObject

        formDataNameEntity.setValue(textFieldNameFD, forKey: "textFieldD")
        formDataNameEntity.setValue(buttonNameFD, forKey: "buttonD")
        formDataNameEntity.setValue(labelNameFD, forKey: "labelD")
        formDataNameEntity.setValue(sectionNameFD, forKey: "sectionD")
        formDataNameEntity.setValue(dateNameFD, forKey: "dateD")
        formDataNameEntity.setValue(textViewNameFD, forKey: "textViewNameD")
        formDataNameEntity.setValue(signViewNameFD, forKey: "signViewNameD")
        formDataNameEntity.setValue(imageNameLabelFD, forKey: "imageViewNameD")


        do {
            try context.save()
        } catch {}

 }

最佳答案

您无法使用 Firebase 等核心数据。 Firebase 是 NoSql 数据库,而 coredata 不是。因此,为了实现使用 Firebase 服务等核心数据的目标,您可以创建多个实体并管理它们之间的关系。

关于ios - 为核心数据 swift ios 中的子子项添加值(value),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48274483/

相关文章:

ios - 获取标题的第一个实际字母/数字

ios - 类型 '[UILabel]' 的值没有成员 'text'

ios - 从旧 Swift 到 Swift 3

swift - 如何使用适用于 iOS 应用程序的 vapor 3 上传模型文件

ios - 在 iOS 中删除和更新核心数据中的数据

objective-c - viewWillAppear、viewDidAppear、viewWillDisappear、viewDidDisappear 指南

iphone - 如何检测前置或后置摄像头是否处于事件状态;以编程方式查找相机分辨率

ios - 如何将属性添加到使用数据模型创建的核心数据类?

ios - 带有按钮和文本字段的 UIScrollview

ios - 有没有办法检查 NSManagedObject 是否被释放?