MRC核心代码
如果成员变量是基本数据类型
- (void)setDog:(MJDog *)dog
{
if (_dog != dog) {
[_dog release];
_dog = [dog retain];
}
}
- (void)dealloc
{
self.dog = nil;
[super dealloc];
}
基本数据类型用assign修饰,比如age属性,就是简单赋值,不会涉及到引用计数。
- (void)setAge:(Int )age
{
_age = age;
}
如果需要系统帮你实现基本数据类型的setter和getter,可以用@synthesize关键字。
@synthesize age = _age;
系统会 给你生成age的setter和getter
修饰对象类型是,可以用retain关键字
retain作用:生成setter和getter方法的实现,并在MRC中,有引用计数的处理。
但是在MRC中,在dealloc函数中,还是将成员变量置为nil。
- (void)setDog:(MJDog *)dog
{
if (_dog != dog) {
[_dog release];
_dog = [dog retain];
}
}
- (MJDog *) dog{
return _dog;
}
网友评论