// // PhotoPreviewCell.m // RA Image // // Created by Jack on 2017/6/14. // Copyright © 2017年 USAI. All rights reserved. // #import "PhotoPreviewCell.h" @implementation PhotoPreviewCell - (void)setModel:(id)model { if (_model) { _model.delegate = nil; } _model = model; [_model.delegate unbind]; _model.delegate = self; [self refreshUI]; } - (void)setPhoto:(UIImage *)image { if (self.photoView) { self.photoView.image = image; } } - (void)reset { UIScrollView *sc = self.scrollView; sc.zoomScale = 1; sc.contentSize = CGSizeZero; sc.contentOffset = CGPointZero; } - (void)prepareForReuse { [super prepareForReuse]; [self reset]; self.model = nil; } - (void)layoutSubviews { [super layoutSubviews]; } #pragma mark - UIDelegate - (void)refreshUI { dispatch_async(dispatch_get_main_queue(), ^{ [self setPhoto:self.model.image]; }); } - (void)unbind { _model.delegate = nil; _model = nil; [self refreshUI]; } @end