В настоящее время я создаю свой NSXMLParser, где я передаю делегат соответствующему объекту.
Когда мой анализатор достигает элемента с именем "building", он инициализирует новое Building с этим кодом.
if ([elementName isEqualToString:@"building"])
{
building = [[Building alloc] initWithAttributes:attributeDict parent:self children:nil parser:parser];
}
Я создал свой собственный инициализатор в классе Building, который является подклассом NSManagedObject. (Создан автоматически из Core Data).
Это выглядит так:
- (id)initWithParser:(NSXMLParser *)parser
{
if (self = [super init])
{
[parser setDelegate:self];
}
return self;
}
Но я получаю эту ошибку при запуске: «Не удалось вызвать назначенный инициализатор для класса NSManagedObject».
Класс Building должен продолжить синтаксический анализ тегов при сборке и создать граф объектов из XMLfile.
Другими словами, классу Building необходимо знать, как анализировать, заполнять переменные экземпляра, создавать сущность и сохранять ее в графе объектов (просто для понимания, это можно игнорировать)
Я сделал что-то не так?Я не могу создать свой собственный инициализатор?Может быть, я должен создать класс, который наследует от NSObject, и создать мой анализатор, а затем создать сущность обычным способом?
Извините за этот длинный пост.