在核心数据中存储Struct数组

时间:2017-08-18 18:28:32

标签: ios arrays swift core-data struct

我正在学习如何使用 PARSE 来存储用户的信息。基本上,我正在制作一个测试应用,用户可以在其中添加值(重量),日期和评论。我将此信息上传到 parse.com ,我希望能够从 PARSE 中检索所有信息,并在每次用户登录时将其保存到核心数据中。

当我下载它时,我为每个元素创建一个结构,然后将其附加到数组中。我正在考虑直接保存每个元素:enter image description here

这是我下载和创建结构数组的代码:

func queryDownload (usuario : PFUser) {

        do {
            let query = PFQuery(className: "Test")
            query.whereKey("user", equalTo: user)
            let objects = try query.findObjects() as [PFObject]
            self.dataArray = objects.map { MyData(wheigt: $0["wValue"] as! Int, date: $0["date"] as! Date, info: $0["info"] as! String) }
            self.dataArrayOrdered = self.dataArray.sorted(by: { $0.date.compare($1.date) == .orderedAscending})
            print(self.dataArrayOrdered)
        } catch {
            print("ERROR", error)
        }
    }

我试图在coreData中存储它:

 let elements = dataArrayOrdered.count

        for i in 0...(elements - 1) {

        let newData = NSEntityDescription.insertNewObject(forEntityName: "", into: context)
        newData.setValue(dataArrayOrdered[i].wheigt, forKey: "wValue")
        newData.setValue(user, forKey: "user")
        newData.setValue(dataArrayOrdered[i].date, forKey: "date")
        newData.setValue(dataArrayOrdered[i].info, forKey: "comment")
        }

但我的老师告诉我,这不是一个好主意,我应该考虑我的CoreData数据结构的其他选项,但我不能提出任何其他想法。你对此有何看法?我一直在想,也许问题可能是我稍后检索信息并尝试创建结构数组,但我不确定,有没有更好的方法将coreData与这种数据一起使用?

0 个答案:

没有答案