Swift 3核心数据 - 无法保存关系值

时间:2016-11-02 21:22:36

标签: core-data xcode8

我在尝试保存数据时遇到错误。这就是我正在做的......

1)首先我使用Category对象获取:

let categories: NSFetchRequest<Categories> = Categories.fetchRequest()
categories.predicate = NSPredicate(format: "id==%@", '25')
var category = try managedObjectContext.fetch(categories)[0]

2)然后我在新的Subcategories对象上设置值:

let subcategory = NSEntityDescription.insertNewObject(forEntityName: "Subcategories", into: managedObjectContext) as! Subcategories
subcategory.text = "Some text..."
subcategory.categories = category

3)最后我保存:

managedObjectContext.save()

*****由于未捕获的异常'NSInvalidArgumentException'终止应用程序,原因:' * - [__ NSPlaceholderArray initWithObjects:count:]:尝试从对象[0]' <插入nil对象/ p>

类别不是零,因为我可以在保存前立即打印。我认为managedObjectContext存在问题。

1 个答案:

答案 0 :(得分:0)

我明白了。问题出在父母实体&#34;类别&#34;上。我检查了一个方框,将它们设置为&#34; ordered&#34;,由于某种原因导致了这个奇怪的错误。具体发生的是从我的查询返回的对象的类别字段总是为零。