这将删除 BLOG 中的对象,但不会删除 LABEL 中的对象。我认为 coredata 会自动删除两个实体?我必须在每个实体上手动执行吗?我该怎么做 LABEL 没有删除方法。
//delete records from database no longer needed
for (NSManagedObject *blogTBD in deleteArray) {
//Delete object from BLOG
[self.managedObjectContext deleteObject: blogTBD];
}
在我的 BLOG.h 文件中也有四种方法。有人可以解释为什么使用它们,因为我似乎无法将它们用于任何有用的事情。
- (void)addLabelsObject:(LABEL *)value;
- (void)removeLabelsObject:(LABEL *)value;
- (void)addLabels:(NSSet *)values;
- (void)removeLabels:(NSSet *)values;
在我的脑海中,逻辑将是 [blogObj addLabels: nssetoflabels] 在 LABEL 中添加新标签或 [blogObj removeLabelsObject: label] 以删除 LABEL 中的标签,但这些都不起作用。
这是我为每个博客添加标签的方法,这是我让它工作的唯一方法:
for (int i = 0; i < newCategory.count; i++) {
LABEL *blogLabels = [NSEntityDescription insertNewObjectForEntityForName:@"LABEL" inManagedObjectContext:self.managedObjectContext];
blogLabels.categories = [NSString stringWithFormat:@"%@", newCategory[i]];
//Assign relatioship - add labels to blog
blogLabels.blog_labels = myBlog;
//save label
[self.managedObjectContext save:&error];
}