2012-05-18 1 views
0

У меня есть 3 объекта с одним родителем двух других. Я создал подклассы NSManagedObject для каждого из них. Я знаю, как наследовать атрибуты родительского класса, но мне нужно наследовать метод. Прямо сейчас у меня только 1 контроллер представления, поэтому я действительно не знаю, как я могу наследовать метод только с одним VC, или я могу? Все 3 объекта будут иметь метод с тем же именем. Спасибо за любую возможную помощь.Наследование метода для основных объектов данных (один из родительских)

+0

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

ответ

0

Просто объявить метод в родительском классе, и переопределить его в дочерних классах:

@interface BaseClass : NSManagedObject 
- (void)doSomething; 
@end 

@interface InheritedClass : BaseClass 
- (void)doSomething; 
@end 

@implementation InheritedClass 
- (void)doSomething { 
    [super doSomething]; 
    .... 
} 
@end 
+0

Спасибо! Таким образом, «не прикасайтесь к классам, созданным для ваших сущностей». Я читаю везде, когда вам нужно выполнить эту задачу? – jpgr

+0

Причина, по которой они говорят, «не трогайте классы», состоит в том, что эти файлы могут быть сгенерированы автоматически (если хотите) редактором Data Model Editor Xcode. Например, вы можете просто удалить файлы .h и .m NamedanObject и восстановить их. Если вы внесли какие-либо изменения в файлы .h или .m, эти изменения, очевидно, будут потеряны при восстановлении файлов. Если вы действительно хотите пройти этот маршрут, просто избегайте регенерации файлов для этого конкретного класса и управляйте им вручную. Надеюсь, это имеет смысл. – melsam

+0

Да, эта часть, которую я знал. В книгах, учебниках и т. Д. Не следует строго «не прикасаться», а вместо этого говорить «автогенерировать», вы можете редактировать и добавлять методы, но если вы снова решите автогенерировать, ваши изменения не будут сохранены. " – jpgr

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

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