Частичная реализация классов Objective-C в отдельных файлах - PullRequest
6 голосов
/ 12 июня 2010

Я использую базовые данные и генерирую классы из своей модели данных.

Я реализую пользовательские методы в этих классах, однако, когда я регенерирую, я генерирую поверх, так что в итоге я копирую и вставляю немного.То, что я хотел бы сделать, это разделить мои файлы реализации ('.m'), чтобы у меня был один заголовочный файл с несколькими файлами .m.тогда я могу сохранить свои собственные методы в одном и не беспокоиться о стирании их при регенерации.Я часто использую эту технику в .NET с ее частичным ключевым словом.Есть ли что-нибудь подобное в объективе-C

Ответы [ 2 ]

16 голосов
/ 12 июня 2010

В Objective-C у вас есть категории (и расширения) .

Если ваш класс CoreData называется Person, ваша реализация может перейти в категорию Implementation, но обратите внимание,должны объявить все ваши ивары в главном интерфейсе вашего класса.

// Person+Implementation.h
#import "Person.h"

@interface Person (Implementation)
- (void)myMethod;
@end


// Person+Implementation.m
#import "Person+Implementation.h"

@implementation Person (Implementation)
- (void)myMethod {
    NSLog(@"hi there");
}
@end
2 голосов
/ 12 июня 2010

Вы также можете взглянуть на mogenerator , который использует другой подход к генерации классов для сущностей.

...