Генерация геттеров и установщиков в XCode
-
08-07-2019 - |
Вопрос
В настоящее время я использую xcode для некоторой разработки на c ++, и мне нужно сгенерировать геттеры и сеттеры.
Единственный способ, который я знаю, - это генерация геттеров и сеттеров в стиле Objective C.
что-то вроде этого - (строковое) имя;- (void)setName:(строковое) значение;
Я не хочу этого;Я хочу генерировать стиль c ++ с реализацией и объявлением для использования в заголовочных файлах.
Есть какие-нибудь идеи ...?
Решение
Похоже, вы просто ищете способ сократить время записи геттеров / сеттеров (то есть операторов property / synthesize) все время, верно?
Существует бесплатный макрос , который можно использовать в XCode для даже автоматически генерировать операторы @property и @synthesize после выделения переменной-члена, которая мне кажется очень полезной :)
Если вы ищете более надежный инструмент, есть еще один платный инструмент под названием Accessorizer что вы можете проверить.
Другие советы
Objective C!= C ++.
ObjectiveC предоставляет вам автоматическую реализацию с использованием ключевых слов @property и @synthesize (в настоящее время я сам использую ObjectiveC, только что получил Mac!).В C ++ нет ничего подобного, поэтому вам просто нужно написать функции самостоятельно.
Фу.х
inline int GetBar( ) { return b; }
inline void SetBar( int b ) { _b = b; }
или
Фу.х
int GetBar( );
void SetBar( int b );
Foo.cpp
#include "Foo.h"
int Foo::GetBar( ) { return _b; }
void Foo::SetBar( int b ) { _b = b; }
что-то.ч:
@interface something : NSObject
{
NSString *_sName; //local
}
@property (nonatomic, retain) NSString *sName;
@end
что-то.м :
#import "something.h"
@implementation something
@synthesize sName=_sName; //this does the set/get
-(id)init
{
...
self.sName = [[NSString alloc] init];
...
}
...
-(void)dealloc
{
[self.sName release];
}
@end