iphone - Dealloc of custom object -


i have class in project :

        @interface videoitem : nsobject <nscoding> {               nsstring *name;               nsstring *artist;               int seconds;         }          @property (nonatomic, retain) nsstring *name;         @property (nonatomic, retain) nsstring *imgurl;         @property (nonatomic, retain) nsstring *artist;          @end 

and how create object:

    videoitem *item = [[videoitem alloc] init];     item.name = name;     item.imgurl = imglink;     item.artist = artist; 

and dealloc:

- (void)dealloc{     [name release];     [imgurl release];     [artist release];      [super dealloc]; } 

and want know if dealoc ok non-arc? did need else because nsstring property?

edit

and if videoitem object create with:

videoitem *item = [[videoitem alloc] init];         item.name = [nsstring alloc]initwithformat@"%@",name];         item.imgurl = [nsstring alloc]initwithformat@"%@",imglink];         item.artist = [nsstring alloc]initwithformat@"%@",artist]; 

did in case dealloc still ok? or need change something?

everything looks ok, releasing @properties of object. point them nil, make sure, if 1 of properties called, nilled , not have garbage value, so:

- (void)dealloc{     [name release], name = nil;     [imgurl release], imgurl = nil;     [artist release], artist = nil;      [super dealloc]; } 

another thing, no related, cleaner, if create own init, can pass properties values, when create object, so:

-initwithname:(nsstring *)name withimgurl:(nsstring *)imgurl withartist:(nsstring *)artist; 

your edit:

item.name = [nsstring alloc]initwithformat@"%@",name]; item.imgurl = [nsstring alloc]initwithformat@"%@",imglink]; item.artist = [nsstring alloc]initwithformat@"%@",artist]; 

only based on this, create leak, should careful. fix this:

item.name = [[nsstring alloc]initwithformat@"%@",name] autorelease]; item.imgurl = [[nsstring alloc]initwithformat@"%@",imglink] autorelease]; item.artist = [[nsstring alloc]initwithformat@"%@",artist] autorelease]; 

Comments

Popular posts from this blog

c# - DetailsView in ASP.Net - How to add another column on the side/add a control in each row? -

javascript - firefox memory leak -

Trying to import CSV file to a SQL Server database using asp.net and c# - can't find what I'm missing -