私は現在、いくつかのc ++開発にxcodeを使用しており、ゲッターとセッターを生成する必要があります。
私が知っている唯一の方法は、ObjectiveCスタイルでゲッターとセッターを生成することです
このようなもの-(文字列)名前; -(void)setName:(string)value;
私はこれを望んでいません。ヘッダーファイルで使用するための実装と宣言を使用したC++スタイルの生成が必要です。
何か案が...?
私は現在、いくつかのc ++開発にxcodeを使用しており、ゲッターとセッターを生成する必要があります。
私が知っている唯一の方法は、ObjectiveCスタイルでゲッターとセッターを生成することです
このようなもの-(文字列)名前; -(void)setName:(string)value;
私はこれを望んでいません。ヘッダーファイルで使用するための実装と宣言を使用したC++スタイルの生成が必要です。
何か案が...?
getter/setter (つまり、property/synthesize ステートメント) を常に記述する手間を軽減する方法を探しているようですね。
XCode で使用できる無料のマクロがあり、メンバー変数を強調表示した後に @property ステートメントと @synthesize ステートメントを自動的に生成することもできます。これは本当に役に立ちます :)
より堅牢なツールを探している場合は、Accessorizerという別の有料ツールをチェックしてみてください。
Objective 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; }
something.h:
@interface something : NSObject
{
NSString *_sName; //local
}
@property (nonatomic, retain) NSString *sName;
@end
something.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