Вопрос

В настоящее время я использую 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
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top