У меня есть объект AccountCredential, который содержит стандартные учетные данные пользователя, а затем другой объект, который содержит несколько из этих объектов AccountCredential. Когда я моделирую это в CoreData, я хотел бы знать, должен ли AccountCredential иметь ссылку на связь для учетной записи для каждого экземпляра, который она хранит.Обзор отношений моделирования CoreData
бы я поставил его в CoreData, как это:
@interface Account : NSManagedObject
{
}
@property (nonatomic, retain) AccountCredential * twitterAccountCred;
@property (nonatomic, retain) AccountCredential * facebookAccountCred;
@end
@interface AccountCredential : NSManagedObject
{
}
@property (nonatomic, retain) NSString * password;
@property (nonatomic, retain) NSString * username; // encrypted
@property (nonatomic, retain) Account * account1;
@property (nonatomic, retain) Account * account2;
@end
Или это достаточно достаточно для счета, чтобы иметь ссылку на AccountCredential и не ссылку отношения с AccountCredential на счет?
Учетная запись AccountCredential не существует, чтобы знать, что она используется для двух типов учетных записей в интерфейсе «Учетные записи», поэтому я рассматриваю ее как однонаправленную ссылку. Я понимаю, что CoreData любит, чтобы отношения были двунаправленными, но мне любопытно, нужно ли это в модели или нет.
Не-CoreData отношения будут выглядеть следующим образом:
@interface AccountCredential : NSObject {
NSString *username;
NSString *password; //encrypted
}
@end
@interface Account : NSObject {
AccountCredential *twitterAccountCred;
AccountCredential *facebookAccountCred;
}
@end
Основные данные используют информацию обратной связи, чтобы обеспечить согласованность графика объекта, если сделано изменение. Но мне интересно, не нужно ли мне делать обратные отношения ... и если да, есть ли способ подавить это предупреждение? –