вопрос об отношениях в coredata iphone - PullRequest
0 голосов
/ 02 февраля 2011

Я работаю с основными данными в 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, я проверяю это с помощью sqlitemanager (firefox), и связь отображается для одного объекта (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

это работало, и код для Days.h и Days.m практически одинаков с изменением атрибутов, конечно,

  • , но не отображается на sqlite в eожидаемый порядок ??Кроме того, в таблице сотрудников на sqlite, появляются ли отношения ??в каком порядке ??(Я не показываю их в менеджере sqlite!)

Должен ли я вызывать их в модели?(Я так думаю!)

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

и для сотрудника. M

   #import "Employee.h"
   #import "Centre.h"
   #import "Days.h"
   @implementation Employee
   @dynamic centre;
   @dynamic days;
  • , поэтому снова вопросы: мне нужны отношения, чтобы показать в БД и проверитьsqlitemanager они на самом деле работают,

хорошо, большое спасибо!

1 Ответ

1 голос
/ 02 февраля 2011

О чем стоит подумать:

  • Есть ли у вас все отношения, определенные в вашей модели управляемых объектов?
  • Вам нужны пользовательские подклассы NSManagedObject?Нет необходимости создавать их как отдельные классы, если вам не нужно настраивать поведение.Если вам это нужно, то могут ли сущности использовать эти классы, установленные в вышеупомянутой модели?
  • Почему вам вообще нужна база данных sqlite?Это на самом деле просто деталь реализации, и сгенерированная схема не должна касаться вас.У вас есть проблемы с прохождением этих отношений в вашем коде?
...