您的位置:首页 > 移动开发 > IOS开发

ios中setter和getter的写法

2015-11-09 06:50 435 查看
简单的说一下非原子性的nonatomic实现

- (void)setCurrentImage:(UIImage *)currentImage
{
if (_currentImage != currentImage) {
[_currentImage release];
//如果是nsstring类型,则是copy
_currentImage = [currentImage retain];
// do something
}
}
- (UIImage *)currentImage
{
if (_currentImage == nil)

    {
_currentImage = [[UIImage alloc]init] ;
}
return _currentImage;
}


atomic实现:

- (void)setCurrentImage:(UIImage *)currentImage
{
@synchronized(self) {
if (_currentImage != currentImage) {
[_currentImage release];
_currentImage = [currentImage retain];
// do something
}
}
}

- (UIImage *)currentImage
{
@synchronized(self) {
UIImage *image = [_currentImage retain];
return [image autorelease];
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: