RQCommonItemViewModel.h 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. //
  2. // RQCommonItemViewModel.h
  3. // RQCommon
  4. //
  5. // Created by 张嵘 on 2018/11/27.
  6. // Copyright © 2018 张嵘. All rights reserved.
  7. // 基类 (icon + title + subTitle)
  8. #import <Foundation/Foundation.h>
  9. @protocol RQCommonItemDelegate <NSObject>
  10. /**
  11. item的View类名
  12. @return item的View类名
  13. */
  14. - (NSString *)itemClassName;
  15. @end
  16. @interface RQCommonItemViewModel : NSObject <RQCommonItemDelegate>
  17. /// 图标
  18. @property (nonatomic, readwrite, copy) NSString *icon;
  19. /// 标题
  20. @property (nonatomic, readwrite, copy) NSString *title;
  21. /// 子标题
  22. @property (nonatomic, readwrite, copy) NSString *subtitle;
  23. /// rowHeight , default is 44.0f
  24. @property (nonatomic, readwrite, assign) CGFloat rowHeight;
  25. // default is UITableViewCellSelectionStyleGray.
  26. @property (nonatomic, readwrite, assign) UITableViewCellSelectionStyle selectionStyle;
  27. /// 右边显示的数字标记
  28. @property (nonatomic, readwrite, copy) NSString *badgeValue;
  29. /// 中间偏左icon的图片名字
  30. @property (nonatomic, readwrite, copy) NSString *centerLeftViewName;
  31. /// 中间偏右icon的图片名字
  32. @property (nonatomic, readwrite, copy) NSString *centerRightViewName;
  33. /// 点击这行cell,需要调转到哪个控制器的视图模型 destViewModelClass:必须是SBViewModel的子类
  34. @property (nonatomic, readwrite, assign) Class destViewModelClass;
  35. /// 封装点击这行cell想做的事情
  36. @property (nonatomic, readwrite, copy) void (^operation)(void);
  37. @property (nonatomic, readwrite, weak) id<RQCommonItemDelegate> delegate;
  38. /// init title or icon
  39. + (instancetype)itemViewModelWithTitle:(NSString *)title icon:(NSString *)icon;
  40. /// init title
  41. + (instancetype)itemViewModelWithTitle:(NSString *)title;
  42. @end