Core data 使用coredata在xcode 4.2中插入多对多关系
嗨,我正在尝试插入多对多关系,但失败=( 这是密码 h类Core data 使用coredata在xcode 4.2中插入多对多关系,core-data,insert,many-to-many,xcode4.2,Core Data,Insert,Many To Many,Xcode4.2,嗨,我正在尝试插入多对多关系,但失败=( 这是密码 h类 #import <Foundation/Foundation.h> #import <CoreData/CoreData.h> @class SubCategoria; @interface Categoria : NSManagedObject @property (nonatomic, retain) NSNumber * id; @property (nonatomic, retain) NSStrin
#import <Foundation/Foundation.h>
#import <CoreData/CoreData.h>
@class SubCategoria;
@interface Categoria : NSManagedObject
@property (nonatomic, retain) NSNumber * id;
@property (nonatomic, retain) NSString * nombre;
@property (nonatomic, retain) NSSet *subcategoria;
@end
@interface Categoria (CoreDataGeneratedAccessors)
- (void)addSubcategoriaObject:(SubCategoria *)value;
- (void)removeSubcategoriaObject:(SubCategoria *)value;
- (void)addSubcategoria:(NSSet *)values;
- (void)removeSubcategoria:(NSSet *)values;
@end
然后,我尝试以以下方式插入
NSManagedObjectContext *context = [self managedObjectContext];
Categoria *cat = [NSEntityDescription
insertNewObjectForEntityForName:@"Categoria"
inManagedObjectContext:context];
cat.id =[NSNumber numberWithInt:2];
cat.nombre = @"portatil";
SubCategoria *subCat = [NSEntityDescription
insertNewObjectForEntityForName:@"SubCategoria"
inManagedObjectContext:context];
subCat.id = [NSNumber numberWithInt:1];
subCat.nombre = @"toshiba";
SubCategoria *subCat2 = [NSEntityDescription
insertNewObjectForEntityForName:@"SubCategoria"
inManagedObjectContext:context];
subCat2.id =[NSNumber numberWithInt:1];
subCat2.nombre = @"sony";
[cat addSubcategoriaObject:subCat];
[cat addSubcategoriaObject:subCat2];
NSError *error;
if (![context save:&error]) {
NSLog(@"Whoops, couldn't save: %@", [error localizedDescription]);
}
它插入类别和子类别,但当它试图插入关系时,给我这个例外
-[Categoria subcategoria]: unrecognized selector sent to instance 0x6dd8290
为什么会发生这种错误?????
非常感谢。听起来您的
分类
实体没有子类别
属性。请仔细检查您的模型。可能您键入了错误的内容
在您的代码中,什么是
NSLog(@"%@", cat);
输出?听起来您的
Categoria
实体没有subcategoria
属性。请仔细检查您的模型。可能您键入了错误的内容
在您的代码中,什么是
NSLog(@"%@", cat);
输出?嘿,我解决了这个问题,不知道实际情况如何,但我怀疑在多对多的关系中,我没有检查级联字段(我知道这没有多大意义,因为这是一个用于删除的级联)。任何方法都有效,可能我只是需要重新生成de模型。但是,谢谢。我解决了问题,不知道实际如何解决,但我怀疑在多对多的关系中,我没有检查级联字段(我知道这没有多大意义,因为是用于删除的级联).任何方法都有效,也许我只是需要重新生成de模型。但非常感谢