Генерация геттеров и сеттеров в XCode - PullRequest
1 голос
/ 29 октября 2009

В настоящее время я использую xcode для разработки на c ++, и мне нужно сгенерировать методы получения и установки.

Единственный известный мне способ генерации геттеров и сеттеров в стиле Objective C

как то так - (строка) имя; - (void) setName: (string) значение;

Я не хочу этого; Я хочу генерацию стиля c ++ с реализацией и объявлением для использования в заголовочных файлах.

Есть идеи ...?

Ответы [ 3 ]

6 голосов
/ 29 октября 2009

Звучит так, как будто вы просто ищете способ сократить время написания геттеров / сеттеров (то есть свойств / синтезирующих операторов) все время, верно?

Существует бесплатный макрос , который вы можете использовать в XCode, чтобы автоматически генерировать операторы @property и @synthesize после выделения переменной-члена, которая мне кажется действительно полезной :)

Если вы ищете более надежный инструмент, есть еще один платный инструмент под названием Accessorizer , который вы можете попробовать.

3 голосов
/ 29 октября 2009

Цель C! = C ++.

ObjectiveC дает вам автоматическую реализацию с использованием ключевых слов @property и @synthesize (в настоящее время я использую ObjectiveC, только что получил Mac!) В C ++ ничего подобного нет, поэтому вам просто нужно написать функции самостоятельно.

foo.h

inline int GetBar( ) { return b; }
inline void SetBar( int b ) { _b = b; }    

или

foo.h

int GetBar( );
void SetBar( int b );

foo.cpp

#include "Foo.h"

int Foo::GetBar( ) { return _b; }
void Foo::SetBar( int b ) { _b = b; }
0 голосов
/ 29 октября 2009

something.h:

@interface something : NSObject
{
   NSString *_sName;  //local
}

@property (nonatomic, retain) NSString *sName;

@end

что-то.m:

#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
...