// // RAPhotoItemModel.m // Apex And Drivers // // Created by Jack on 2018/10/30. // Copyright © 2018年 USAI. All rights reserved. // #import "RAPhotoItemModel.h" #import "UIImage+RedAnt.h" @implementation RAPhotoItemModel @synthesize photo = _photo; #pragma mark - Setter - (void)setUrl:(NSString *)url { _url = url; dispatch_async(dispatch_get_global_queue(0, 0), ^{ UIImage *img = [UIImage ra_imageWithURL:[NSURL URLWithString:url]]; dispatch_async(dispatch_get_main_queue(), ^{ self.photo = img; }); }); } - (void)setPhoto:(UIImage *)photo { _photo = photo; if (_delegate && [_delegate respondsToSelector:@selector(refreshUI)]) { id dlgt = _delegate; dispatch_async(dispatch_get_main_queue(), ^{ [dlgt refreshUI]; }); } } - (void)setDelegate:(id)delegate { if (_delegate && [_delegate respondsToSelector:@selector(unbind)]) { [_delegate unbind]; } _delegate = delegate; } #pragma mark - Getter - (UIImage *)photo { if (!_photo) { if (self.placeHolder) { return [UIImage imageNamed:self.placeHolder]; } else { return nil; } } return _photo; } - (BOOL)isEmpty { return _photo == nil; } @end