Objective C частичная реализация классов в отдельных файлах

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

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

6
задан Aran Mulholland 12 June 2010 в 13:06
поделиться

2 ответа

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

2
ответ дан 8 December 2019 в 12:57
поделиться

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

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

// 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
16
ответ дан 8 December 2019 в 12:57
поделиться