RQSpecialAddCell.m 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. //
  2. // RQSpecialAddCell.m
  3. // jiaPei
  4. //
  5. // Created by 张嵘 on 2022/6/22.
  6. // Copyright © 2022 JCZ. All rights reserved.
  7. //
  8. #import "RQSpecialAddCell.h"
  9. @interface RQSpecialAddCell ()
  10. @property (nonatomic, readwrite, strong) RQSpecialAddItemViewModel *viewModel;
  11. @property (weak, nonatomic) IBOutlet UIImageView *myBgImageView;
  12. @property (weak, nonatomic) IBOutlet UILabel *myTitleLabel;
  13. @property (weak, nonatomic) IBOutlet UILabel *mySubTitleLabel;
  14. @end
  15. @implementation RQSpecialAddCell
  16. #pragma mark - PublicMethods
  17. + (instancetype)cellWithCollectionView:(UICollectionView *)collectionView forIndexPath:(NSIndexPath *)indexPath {
  18. static NSString *ID = @"RQSpecialAddCell";
  19. [collectionView registerNib:[UINib nibWithNibName:ID bundle:nil] forCellWithReuseIdentifier:ID];
  20. RQSpecialAddCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:ID forIndexPath:indexPath];
  21. if (!cell) cell = [self rq_viewFromXib];
  22. return cell;
  23. }
  24. - (void)bindViewModel:(RQSpecialAddItemViewModel *)viewModel {
  25. _viewModel = viewModel;
  26. _myBgImageView.image = [UIImage imageNamed:viewModel.icon];
  27. RAC(self.myTitleLabel, text) = [[RACObserve(viewModel, title) deliverOnMainThread] takeUntil:self.rac_prepareForReuseSignal];
  28. RAC(self.mySubTitleLabel, text) = [[[RACObserve(viewModel, subtitle) deliverOnMainThread] map:^id _Nullable(id _Nullable value) {
  29. return RQStringIsEmpty(viewModel.subtitle)? @"..." : viewModel.subtitle;
  30. }] takeUntil:self.rac_prepareForReuseSignal];
  31. }
  32. #pragma mark - SystemMethods
  33. - (void)awakeFromNib {
  34. [super awakeFromNib];
  35. }
  36. @end