使用 coredata 在 xcode 4.2 中插入多对多关系
嗨,我尝试插入多对多关系,但失败=(
这里是代码
categoria.h
#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
categoria.m
#import "Categoria.h"
#import "SubCategoria.h"
@implementation Categoria
@dynamic id;
@dynamic nombre;
@dynamic subcategoria;
@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
为什么会发生这个错误? 提前非常感谢。
Hi Im trying to insert a many to many relationship but fails =(
here is the code
categoria.h
#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
categoria.m
#import "Categoria.h"
#import "SubCategoria.h"
@implementation Categoria
@dynamic id;
@dynamic nombre;
@dynamic subcategoria;
@end
Then I try to insert in the following way.
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]);
}
It insert the categories and subcategories but when it tries to insert the relation ship give me this exception.
-[Categoria subcategoria]: unrecognized selector sent to instance 0x6dd8290
Why is this error happening ?????
Thanks soo much in advance.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
听起来您的
Categoria
实体没有subcategoria
属性。仔细检查您的型号。也许你输错了什么。在你的代码中,输出什么
?
Sounds like your
Categoria
entity doesn't have asubcategoria
property. Double check your model. Maybe you mistyped something.In your code, what does
output?