小编kan*_*roo的帖子

如何使用核心数据的添加和删除(NSSet)访问器方法?

在这个测试核心数据项目中,我有一个从"客户"到"产品"的一对多关系,这种关系被命名为"产品".客户的属性为"名称",产品的属性为"项目".我已经将实体子类化,Xcode为客户生成了以下内容:

@interface Customer : NSManagedObject

@property (nonatomic, retain) NSString * name;
@property (nonatomic, retain) NSSet *products;
@end

@interface Customer (CoreDataGeneratedAccessors)

- (void)addProductsObject:(Products *)value;
- (void)removeProductsObject:(Products *)value;
 - (void)addProducts:(NSSet *)values;
- (void)removeProducts:(NSSet *)values;

@end
Run Code Online (Sandbox Code Playgroud)

要添加,比方说,一个客户(John Doe)和两个项目(Widget 1&Widget 2),我可以使用accessor方法addProductsObject,如下所示:

...
// Add (1) customer object
Customer *custObj = [NSEntityDescription insertNewObjectForEntityForName:[entity name] inManagedObjectContext:context];
[custObj setValue:@"John Doe" forKey:@"name"];

// Add (2) products for John Doe
for (int foo=0; foo<2; foo++) {
    self.product = [NSEntityDescription insertNewObjectForEntityForName:@"Products" inManagedObjectContext:context];
    NSString *objString = [NSString stringWithFormat:@"Widget %d", …
Run Code Online (Sandbox Code Playgroud)

core-data subclass nsset insertion

7
推荐指数
1
解决办法
8934
查看次数

标签 统计

core-data ×1

insertion ×1

nsset ×1

subclass ×1