Crear un object – Objective-C

Problema

Estoy intentando crear un object en Objective-C. Sé cómo hacerlo, pero tengo algunas preguntas sobre los methods en el file de implementación.

El object:

@interface Program : NSObject { NSString *sid; NSString *le; NSString *sd; NSString *pid; NSString *n; NSString *d; NSString *url; } @property (nonatomic, retain) NSString *sid; @property (nonatomic, retain) NSString *le; @property (nonatomic, retain) NSString *sd; @property (nonatomic, retain) NSString *pid; @property (nonatomic, retain) NSString *n; @property (nonatomic, retain) NSString *d; @property (nonatomic, retain) NSString *url; @end 

Pregunta

Debería solo implementar dealloc e dealloc … ¿tengo razón en esto?

Además, no tengo inicializaciones especiales, por lo tanto, ¿debo mantener el método init pnetworkingeterminado de la siguiente manera?

 - (id)init { self = [super init]; if (self) { // Initialization code here. } return self; } 

Necesita sintetizar las properties y si no necesita ninguna initialization personalizada, puede mantener el método init tal como está. De hecho, no hay necesidad de implementar init aquí. Pero en dealloc necesita liberar las cadenas.

 @implementation Program @synthesize sid; // ... synthesize others - (void)dealloc { [sid release]; // ... release others [super dealloc]; } @end 

Puede que esté equivocado, y estoy seguro de que alguien me corregirá;), pero si no está haciendo ninguna initialization especial, no necesita el método init.

Debería solo implementar desasociar e iniciar … ¿tengo razón en esto?

También debe implementar todas esas properties, pero puede hacer que el comstackdor haga todo el trabajo arduo al @synthesize .

Cada una de las properties debe liberarse en su -dealloc

si está creando una propiedad ( debe sintetizarlo para que el comstackdor genere automáticamente los methods getter y setter para nosotros), y si está haciendo una initialization personalizada, entonces debe recordar la palabra key self

 -(id)init{ self.sid = @"SID" //Without the self object & the dot we are no longer sending //an object a message but directly accessing ivar named sid } - (void)dealloc { self.sid = nil; [super dealloc]; } 

Necesita implementar desasociado y liberar todos sus ivars. Además, ¡no olvide @ sintetizar sus properties!

Solo necesita implementar - dealloc e - init si tiene que desmontar o configurar. Si no tiene ninguno, no tiene que implementar porque los valores pnetworkingeterminados henetworkingados de NSObject hacen el trabajo.