2014-02-05 5 views
0

Я использую Mogenerator для создания своих моделей. Так что в моей модели человека у меня естьcopyWithZone using mogenerator

- (id)copyWithZone:(NSZone *)zone 
{ 
    AppointmentGrid *appointmentGridCopy = [[[self class] allocWithZone:zone] init]; 
    [appointmentGridCopy setEmployeeId:self.employeeId]; 
    [appointmentGridCopy setEmployeeObject:self.employeeObject]; 
    [appointmentGridCopy setServiceId:self.serviceId]; 
    [appointmentGridCopy setServiceObject:self.serviceObject]; 
    [appointmentGridCopy setStartTimestamp:self.startTimestamp]; 
    [appointmentGridCopy setEndTimestamp:self.endTimestamp]; 
    [appointmentGridCopy setAppointmentGridSlots:self.appointmentGridSlots]; 

    return appointmentGridCopy; 
} 

Поскольку класс «Машина» обладает всеми свойствами, я не читал их в файле «Человек». Однако я получаю сообщение об ошибке

Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[AppointmentGrid setEmployeeId:]: unrecognized selector sent to instance 

Нужно ли мне переопределять все в моем Человеческом файле?

ответ

1

Экземпляры NSManagedObjectдолжны быть создана при помощи назначенный инициализатора

initWithEntity:insertIntoManagedObjectContext: 

Методы доступа к свойствам основных данных создаются динамически во время выполнения, и что не может работать, если объект был создан с помощью простого init метода ,

Это может работать (непроверенные):

AppointmentGrid *appointmentGridCopy = [[[self class] allocWithZone:zone] 
    initWithEntity:self.entity 
    insertIntoManagedObjectContext:self.managedObjectContext]; 
+0

ааа да ... полностью разнесены на этой части! ty – Bot

+0

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

+0

@Bot: Добро пожаловать. (Обратите внимание, что это исключение во время выполнения и поэтому не связано с mogenerator, которое создает только исходный код.) –

 Смежные вопросы

  • Нет связанных вопросов^_^