Domanda

Attualmente sto usando xcode per alcuni sviluppi in c ++ & amp; Ho bisogno di generare Getter & amp; setter.

L'unico modo che conosco è generare getter e amp; setter in stile Obiettivo C

qualcosa del genere - nome (stringa); - (void) setName: valore (stringa);

Non voglio questo; Voglio la generazione in stile c ++ con implementazione & amp; dichiarazione per l'uso nei file di intestazione.

Qualche idea ...?

È stato utile?

Soluzione

Sembra che tu stia solo cercando un modo per ridurre la seccatura di scrivere getter / setter (cioè dichiarazioni di proprietà / sintesi) tutto il tempo giusto?

Esiste una macro che puoi utilizzare in XCode per persino generare automaticamente le istruzioni @property e @synthesize dopo aver evidenziato una variabile membro che trovo davvero utile :)

Se stai cercando uno strumento più robusto, c'è un altro strumento a pagamento chiamato Accessorizer che potresti voler controllare.

Altri suggerimenti

Obiettivo C! = C ++.

ObjectiveC ti dà l'implementazione automatica usando le parole chiave @property e @synthesize (al momento mi sto appoggiando a ObjectiveC, ho appena ricevuto un Mac!). C ++ non ha nulla del genere, quindi devi semplicemente scrivere tu stesso le funzioni.

foo.h

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

o

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

qualcosa.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
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top