Вставить один объект во множество отношений - Основные данные IOS - PullRequest
0 голосов
/ 27 марта 2012

Я видел различные ответы, помогающие объяснить добавление записей в отношениях один-ко-многим, но я не могу понять, как это сделать в моем коде.

У меня есть отношения - в стране много округов

Я добавляю округа в страны, которые уже существуют, но, похоже, не могут получить метод, который добавит округ в отношения страны ...

Мой код:

@class Country, Property;

@interface County : NSManagedObject

@property (nonatomic, retain) NSNumber * id;
@property (nonatomic, retain) NSDate * last_server_update;
@property (nonatomic, retain) NSString * name;
@property (nonatomic, retain) Country *country;
@property (nonatomic, retain) NSSet *properties;
@end

@interface County (CoreDataGeneratedAccessors)

- (void)addPropertiesObject:(Property *)value;
- (void)removePropertiesObject:(Property *)value;
- (void)addProperties:(NSSet *)values;
- (void)removeProperties:(NSSet *)values;

@end

Country.h

@class County, Property;

@interface Country : NSManagedObject

@property (nonatomic, retain) NSNumber * id;
@property (nonatomic, retain) NSDate * last_server_update;
@property (nonatomic, retain) NSString * name;
@property (nonatomic, retain) NSSet *properties;
@property (nonatomic, retain) County *counties;
@end

@interface Country (CoreDataGeneratedAccessors)

- (void)addPropertiesObject:(Property *)value;
- (void)removePropertiesObject:(Property *)value;
- (void)addProperties:(NSSet *)values;
- (void)removeProperties:(NSSet *)values;

- (void)addCountiesObject:(County *)value;
- (void)removeCountiesObject:(County *)value;
- (void)addCounties:(NSSet *)values;
- (void)removeCounties:(NSSet *)values;

@end

В моем контроллере:

Country * newCounty;
newCounty = [County createEntity];

// Get Country
Country * relatedCountry = [Country findFirstByAttribute:@"id" withValue:[county objectForKey:@"country_id"]];

newCounty.id = [county objectForKey:@"id"];
newCounty.name = [county objectForKey:@"name"];
newCounty.country = relatedCountry;  // Does not compile

Я использую MagicalRecord для поиска между прочим

EDIT

ошибка Свойство 'страна' не найдено на объекте типа 'Страна'

Отношения настроены как

Страна

  • Отношения: графства
  • Пункт назначения: округ
  • Инверсия: страна
  • Отношение ко многим: проверено

Область

  • Отношения: страна
  • Пункт назначения: Страна
  • Обратное: графства
  • Отношение ко многим: не проверено

1 Ответ

1 голос
/ 27 марта 2012

Попробуйте изменить

Country * newCounty;

до

County * newCounty;

;)

...