RQPlaceListCell.m 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. //
  2. // RQPlaceListCell.m
  3. // JiaPei
  4. //
  5. // Created by 张嵘 on 2023/4/13.
  6. //
  7. #import "RQPlaceListCell.h"
  8. @interface RQPlaceListCell ()
  9. @property (nonatomic, readwrite, strong) RQPlaceListItemViewModel *viewModel;
  10. @property (weak, nonatomic) IBOutlet UIImageView *myBottomImageView;
  11. @property (weak, nonatomic) IBOutlet UIImageView *myPlaceImageVIew;
  12. @property (weak, nonatomic) IBOutlet UILabel *myPlaceLabel;
  13. @property (weak, nonatomic) IBOutlet UILabel *myTotalLabel;
  14. @property (weak, nonatomic) IBOutlet QMUIButton *buyBtn;
  15. @end
  16. @implementation RQPlaceListCell
  17. #pragma mark - PublicMethods
  18. + (instancetype)cellWithTableView:(UITableView *)tableView {
  19. static NSString *ID = @"RQPlaceListCell";
  20. RQPlaceListCell *cell = [tableView dequeueReusableCellWithIdentifier:ID];
  21. if (!cell) {
  22. cell = [self rq_viewFromXib];
  23. cell.selectionStyle = UITableViewCellSelectionStyleNone;
  24. }
  25. return cell;
  26. }
  27. - (void)bindViewModel:(RQPlaceListItemViewModel *)viewModel {
  28. // @weakify(self)
  29. _viewModel = viewModel;
  30. NSString *cityStr = viewModel.placeListModel.city;
  31. NSString *nameStr = viewModel.placeListModel.name;
  32. NSString *videoCountStr = [NSString qmui_stringWithNSInteger:viewModel.placeListModel.videoCount];
  33. if (RQStringIsNotEmpty(cityStr) && RQStringIsNotEmpty(nameStr)) {
  34. self.myPlaceLabel.text = [NSString stringWithFormat:@"%@ | %@",cityStr, nameStr];
  35. } else {
  36. if (RQStringIsNotEmpty(cityStr)) {
  37. self.myPlaceLabel.text = [NSString stringWithFormat:@"%@",cityStr];
  38. } else if (RQStringIsNotEmpty(nameStr)) {
  39. self.myPlaceLabel.text = [NSString stringWithFormat:@"%@", nameStr];
  40. } else {
  41. self.myPlaceLabel.text = @"";
  42. }
  43. }
  44. self.myTotalLabel.text = [NSString stringWithFormat:@"共%@节",videoCountStr];
  45. [self.myPlaceImageVIew yy_setImageWithURL:[NSURL URLWithString:viewModel.placeListModel.image] placeholder:RQWebImagePlaceholder() options:RQWebImageOptionAutomatic completion:nil];
  46. self.myBottomImageView.hidden = viewModel.isLast;
  47. RAC(self.buyBtn, hidden) = [[[RACObserve(viewModel.placeListModel, isCheckVip) deliverOnMainThread] takeUntil:self.rac_prepareForReuseSignal] map:^id _Nullable(id _Nullable value) {
  48. return @(!viewModel.placeListModel.isCheckVip);
  49. }];
  50. }
  51. #pragma mark - SystemMethods
  52. - (void)awakeFromNib {
  53. [super awakeFromNib];
  54. }
  55. - (void)setSelected:(BOOL)selected animated:(BOOL)animated {
  56. [super setSelected:selected animated:animated];
  57. // Configure the view for the selected state
  58. }
  59. @end