First, you need to understand the difference between instance variables and properties and getter / seters.
- (ivars) - ,
. ivar (, "userName" ).
- ,
/
.
- getters/setters ivar .
, getter/setter, (, [self userName]), () self.userName. , . (.. ) @property , :
@property (copy) NSString* userName;
:
- (NSString*) userName;
- (void) setUserName: (NSString*) theUserName;
@synthesize ( getter/setter), (.. userName setUserName). , @dynamic, , , , .
. 9 , , . ? .
, , / init dealloc.
, :
- (id)initWithUserName:(NSString *)user{
userName = [user copy];
userInfo = [[TwitterHelper fetchInfoForUsername:user] retain];
displayName = [[userInfo valueForKey:@"name"] copy];
image = [[NSURL URLWithString:[userInfo valueForKey:@"profile_image_url"]] copy];
updates = [[TwitterHelper fetchTimelineForUsername:userName] retain];
return self;
}
, , ivar . , NSString NSMutableStrings NSStrings, , , . NSArray/NSDictionary, , TwitterHelper .
dealloc ivars:
- (void)dealloc
{
[userName release];
[displayName release];
[updates release];
[userInfo release];
[image release];
[super dealloc];
}
self.userName , ivars .
, displayName ( ), getter, userInfo. displayName ivar, :
@property ( ) NSString * displayName;
@synthesize displayName getter:
- (NSString*) displayName
{
return [userInfo valueForKey:@"name"];
}
dealloc.
, / displayName - , , / , .