@implementaion Foo @synthesize bar; - (id)init { if(self = [super init]) { Bar *b = [[Bar alloc] init]; self.bar = b; [b release]; } return self; } - (void)dealloc { if(self.bar) { [self.bar release]; self.bar = nil; } [super dealloc]; } @end