Czy @property (zachowaj) wymaga wydania?

Poniżej znajdują się trzy fragmenty kodu, pierwsze dwa to interfejsy dla dwóch obiektów wraz z kilkoma poleceniami @property. Proszę zauważyć, że to tylko ja się uczę, a nie jest częścią aplikacji tylko małym programem testowym.

Po dodaniu (zachowaniu) do drugiej właściwości @ zauważyłem, że mój obiekt maszyny przeciekał, gdy mój program się zakończył, co zrobiłem, aby to naprawić, to dodanie zwolnienia w obiektach Artysty, czy to brzmi poprawnie?

@interface Machine : NSObject
{
    NSString *name;
    NSString *type;
    NSString *os;
}

@interface Artist : NSObject
{
    NSString *name;
    Machine *system;
}
@property(copy) NSString *name;
@property(retain) Machine *system;
@end

// DEALLOC IN @implementation Artist
-(void)dealloc {
    NSLog(@"_deal: %@", self);
    [system release];
    [super dealloc];
}

Gary

questionAnswers(3)

yourAnswerToTheQuestion