RQTimeSingleCell.m 1.4 KB

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