2011-02-02 55 views
0

林与核心数据的工作在iphone, 似乎是要罚款(创建数据库并保存一些数据),直到我发现了一些事情,我不明白又问题有关coredata iphone关系

  • 我有3个实体(员工,日,中心),并有许多一个关系到其他2一个,

    ENTITY  RELATIONSHIP  ENTITY 
    Employee>>>>days(one to many)>>Days (inverse of Days, employee) 
    Employee>>>>centre(one 2 many)>Centre (inverse of Centre, employee) 
    

在我的SQLite产生分贝,我使用SQLite经理检查(火狐),和relati onship是示出了用于一个实体(ZCENTRE)后(Z_PK,Z_ENT,Z_OPT,ZEMPLOYEE),但以该顺序(不表示是预期顺序??我的其他实体(Z_DAYS),它显示了一个属性之后,所以这让我觉得被认为是属性不是在代码中的实体?

在该模型的代码

,为centre.h我有

#import <CoreData/CoreData.h> 
@class Employee; 
@interface Centre : NSManagedObject 
{} 
@property (nonatomic, retain) NSString * centres; 
@property (nonatomic, retain) Employee * employee; 
@end 

和模型centre.m

 #import "Centre.h" 
     #import "Employee.h" 
     @implementation Centre 
     @dynamic centres; 
     @dynamic employee; 
     @end 

这是一个工作,并为天的代码。 h和Days.m是preatty非常相同,当然属性的变化,当然,

  • 但是没有显示在预期的顺序的sqlite? ? 此外,在SQLite的雇员表,做的关系出现?按照顺序? (我没有让他们在sqlite管理器上显示!)

我必须在模型中调用它们吗? (我是这么认为的!)

for the Employee.h>>>@class Centre; 
@class Days; 
@property (nonatomic, retain) Centre * centre; 
@property (nonatomic, retain) Days * days; 

,为employee.m

#import "Employee.h" 
    #import "Centre.h" 
    #import "Days.h" 
    @implementation Employee 
    @dynamic centre; 
    @dynamic days; 
  • 如此反复的问题:我需要的关系,在分贝显示和在他们的逸岸检查的SQLiteManager工作,

好的,非常感谢!

+0

好的,只是检查了一个例子,并且该关系可以出现在sqlite之后的一个属性中,只要按顺序编号(1,2,3,4 ...)但是关于主体的问题仍然存在,如何设置员工与天和中心的关系,谢谢! – MaKo 2011-02-02 02:25:41

回答

1

有些事情要考虑:

  • 你有没有在你的管理对象模型中定义的所有关系?
  • 你需要的NSManagedObject定制子类?如果您不需要自定义行为,则无需将它们创建为单独的类。如果您确实需要这些,那么实体是否会使用上述模型中设置的类?
  • 为什么你关心sqlite数据库呢?这实际上只是一个实现细节,生成的模式不应该关注你。你的代码中是否存在遍历这些关系的问题?
+0

嗨,tnx - 在我的托管对象模型中,我只是调用momd类型的数据库, - 我不需要自定义子类欢呼声, - 我关心模式,因为我从csv导入了大量条目并注意到了这些事情,再次感谢! – MaKo 2011-02-02 23:28:14