В процессе самообучения цели C и iOS SDK.Я дошел до того, что мне кажется, что я понимаю, что я делаю, но я нахожусь на контрольно-пропускном пункте, который я не вижу в прошлом.Я создал базовую модель данных с несколькими сущностями, причем одна главная сущность имеет пару отношений один к одному с парой других сущностей.И я могу нормально работать с основным объектом, а также с любым объектом, который находится в отношениях один к одному с основным объектом.Однако, когда я пытаюсь добавить объект к одному из объектов, основанных на NS Set, используя средства доступа, сгенерированные базовыми данными, я получаю нераспознанную ошибку селектора: Вот некоторый код, чтобы запутать вещи еще больше:
Weapon *tempWeapon = [NSEntityDescription insertNewObjectForEntityForName:@"Weapon" inManagedObjectContext:inputContext];
NSArray *tempWeaponStats = [inputMech getMechWeaponStats:tempEquipName];
tempWeapon.weaponName = tempEquipName;
tempWeapon.weaponDisplayName = tempEquipDisplayName;
tempWeapon.weaponLocation = tempEquipLocation;
tempWeapon.weaponType = tempEquipType;
tempWeapon.weaponCritSize = tempEquipSize;
tempWeapon.weaponHeat = [[NSNumber alloc] initWithInt:[[tempWeaponStats objectAtIndex:0] intValue]];
tempWeapon.weaponDamage = [[NSNumber alloc] initWithInt:[[tempWeaponStats objectAtIndex:1] intValue]];
tempWeapon.weaponRangeMin = [[NSNumber alloc] initWithInt:[[tempWeaponStats objectAtIndex:2] intValue]];
tempWeapon.weaponRangeShort = [[NSNumber alloc] initWithInt:[[tempWeaponStats objectAtIndex:3] intValue]];
tempWeapon.weaponRangeMed = [[NSNumber alloc] initWithInt:[[tempWeaponStats objectAtIndex:4] intValue]];
tempWeapon.weaponRangeLong = [[NSNumber alloc] initWithInt:[[tempWeaponStats objectAtIndex:5] intValue]];
NSLog(@"Adding to the weapon list %@", tempWeapon.weaponName);
[inputMech insertObject:tempWeapon inWeaponListAtIndex:(NSUInteger)0];
При запуске этого кода я получаю следующую ошибку:
2011-08-24 01:49:52.643 DigitalRecordSheet[12947:f203] -[Mech insertObject:inWeaponListAtIndex:]: unrecognized selector sent to instance 0x718bbe0
Теперь inputMech относится к типу главной сущности, о котором я упоминал ранее.Вот основной селектор сгенерированных данных из Mech.h:
(void)insertObject:(Equipment *)value inEquipmentListAtIndex:(NSUInteger)idx;
Насколько я могу судить, я правильно отправляю сообщение, но оно не работает.По сути, я хочу, чтобы у одного меха был список из нескольких видов оружия.Теперь я не прав, как я это делаю?Я предполагаю, что сначала мне нужно создать новый объект оружия, настроить его так, как я хочу, а затем добавить его в объект WeapHist NSSet
меха.Но основные селекторы данных не работают, поэтому я должен предположить, что я делаю что-то не так.Любой совет здесь будет оценен, так как я перебрал несколько книг и руководств, и ни один из них действительно не углубился в процесс обработки этих типов отношений ... Заранее благодарен за любой совет.Приветствия,
J ^ 2