これにより、BLOG のオブジェクトは削除されますが、LABEL のオブジェクトは削除されません。coredata は両方の intities で自動的に削除されると思いましたか? 各エンティティで手動で行う必要がありますか? LABEL に remove メソッドがないようにするにはどうすればよいですか。
//delete records from database no longer needed
for (NSManagedObject *blogTBD in deleteArray) {
//Delete object from BLOG
[self.managedObjectContext deleteObject: blogTBD];
}
私の BLOG.h ファイルにも 4 つの方法があります。私はそれらを有用なものに使用できないように見えるので、誰かがそれらが使用される理由を説明できますか.
- (void)addLabelsObject:(LABEL *)value;
- (void)removeLabelsObject:(LABEL *)value;
- (void)addLabels:(NSSet *)values;
- (void)removeLabels:(NSSet *)values;
私の頭の中では、ロジックは [blogObj addLabels: nssetoflabels] で LABEL に新しいラベルを追加するか、[blogObj removeLabelsObject: label] で 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];
}