我将一个对象传递给另一个视图控制器,我正在尝试更新该实体的关系对象。如下所示,“self.stock”是传递给此视图控制器的实体。首先,我删除它的所有关系对象,然后向它添加新的关系对象。
Stock.h
@class Photo, StockCategory, StockOption;
@interface Stock : NSManagedObject
@property (nonatomic, retain) NSString * name;
@end
@interface Stock (CoreDataGeneratedAccessors)
- (void)addCategoriesObject:(StockCategory *)value;
- (void)removeCategoriesObject:(StockCategory *)value;
- (void)addCategories:(NSSet *)values;
- (void)removeCategories:(NSSet *)values;
- (void)addOptionsObject:(StockOption *)value;
- (void)removeOptionsObject:(StockOption *)value;
- (void)addOptions:(NSSet *)values;
- (void)removeOptions:(NSSet *)values;
@end
更新按钮操作
- (void)submit
{
self.stock.name = name;
for (StockCategory *category in self.stock.categories) {
[category MR_deleteEntity];
}
for (StockOption *option in self.stock.options) {
[option MR_deleteEntity];
}
//it seems below not working
//self.optionsObject contains an array of Option objects, the same as self.categoriesObject below.
//I am sure array contains actual objects in it.
for (StockOption *option in self.optionsObject) {
[self.stock addOptionsObject:option];
}
for (StockCategory *cateogry in self.categoriesObject) {
[self.stock addCategoriesObject:cateogry];
}
NSError *error = nil;
if (![self.stock.managedObjectContext save:&error]) {
NSLog(@"Unresolved error %@, %@", error, [error userInfo]); //no error displayed. but I have used sqlite app to view it's documents, I can see the optionsObject and categoriesObject are not empty.
}
}