Я перекриваю багато налаштувань для основних данихструктури, щоб зберегти більшу частину "бізнес-логіки" в базі даних. Який найкращий спосіб перевизначити способи встановлення для взаємовідносин до декількох елементів у основних даних? Здається, що функції сетера для відносин, що називаються "Речі", включають:
- (void)addThingsObject:(Thing *)value;
- (void)removeThingsObject:(Thing *)value;
- (void)addThings:(NSSet *)value;
- (void)removeThings:(NSSet *)value;
Чи потрібно перевизначити всі ці чотири функції? Яка найкраща практика для того, щоб зробити це чисто? Якщо є зворотна залежність, чи потрібно робити що-небудь у сеттерах, щоб переконатися, що інверсія правильно встановлена?
Відповіді:
1 для відповіді № 1Подивись на Могенератор. Він створює два класи для кожної сутності в основних даних, один з яких використовується для написання власного коду для керування об'єктом.
0 для відповіді № 2
З мого досвіду, перевизначення методів xCode створює для вас певні межі ваших можливостей. Це набагато більш доступним для створення категорії для кожного з класів потрібно додати методи та додайте лише ті методи, які вас цікавлять. Як, наприклад, якщо ви хочете замінити об'єкт, додайте a replaceThingObject:(Thing*)obj1 withThingObject(Thing*)obj2
в категорії. Те ж саме стосується додавання або видалення, а не просто заміни. Реалізація їх всього лише для того, щоб слідувати коду, створеному xCode, було б без розуму, якщо ви не потребуєте їх ...