سؤال

وأنا حاليا باستخدام كسكودي لبعض ج ++ تنمية وأنا بحاجة لتوليد حاصل على واضعي.

والطريقة الوحيدة التي اعرفها هي توليد حاصل على واضعي على الطراز C الهدف

وشيء من هذا القبيل - (سلسلة) الاسم؛ - (باطل) setName: (سلسلة) قيمة؛

وأنا لا أريد ذلك؛ أريد ج ++ الجيل الاسلوب مع تنفيذ وإعلان للاستخدام في ملفات الرأس.

وأي فكرة ...؟

هل كانت مفيدة؟

المحلول

وهذا يبدو وكأنه كنت تبحث فقط عن وسيلة للحد من الازعاج من الكتابة حاصل / اضعي (الملكية أي / توليف البيانات) في كل وقت الحق؟

وهناك href="http://cocoawithlove.com/2008/12/instance-variable-to-synthesized.html" ماكرو الذي يمكن استخدامها في كسكودي ل حتى تولدproperty والبياناتsynthesize تلقائيا بعد تسليط الضوء على متغير عضو أن أجد من المفيد حقا :)

إذا كنت تبحث عن وسيلة أكثر قوة، هناك أداة دفع أخرى تسمى Accessorizer التي قد ترغب في إنهاء إجراءات المغادرة.

نصائح أخرى

الهدف C! = C ++.

وسي-الكائنية يمنحك لصناعة السيارات في تنفيذ باستخدامproperty وsynthesize كلمات (أنا يميل حاليا سي-الكائنية نفسي، فقط حصلت على ماك!). 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
scroll top