CoachArrangeClassViewModel.m 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. //
  2. // CoachArrangeClassViewModel.m
  3. // LN_School
  4. //
  5. // Created by 张嵘 on 2019/8/1.
  6. // Copyright © 2019 Danson. All rights reserved.
  7. //
  8. #import "CoachArrangeClassViewModel.h"
  9. #import "CoachArrangeClassModel.h"
  10. @implementation CoachArrangeClassViewModel
  11. - (void)loadData:(void (^)(BOOL, id _Nonnull))calback {
  12. //发起网络请求、处理后返回(这里省略)
  13. NSMutableArray *sectionArr = @[[self makeSecModel]].mutableCopy;
  14. //如果没有对callback强引用,外部可以不用weakSelf
  15. if (calback) {
  16. calback(YES,sectionArr);
  17. }
  18. }
  19. - (HDSectionModel*)makeSecModel {
  20. //该段cell数据源
  21. NSMutableArray *cellModelArr = @[].mutableCopy;
  22. NSInteger cellCount = 10;
  23. for (int i =0; i < cellCount; i++) {
  24. HDCellModel *model = [HDCellModel new];
  25. CoachArrangeClassModel *coachArrangeClassModel = [CoachArrangeClassModel new];
  26. coachArrangeClassModel.object = @"实际操作";
  27. coachArrangeClassModel.progress = @"阶段三";
  28. coachArrangeClassModel.date = @"2012-12-12";
  29. model.orgData = coachArrangeClassModel;
  30. model.cellSize = CGSizeMake(kScreenWidth, 54);
  31. model.cellClassStr = @"CoachArrangeClassCell";
  32. [cellModelArr addObject:model];
  33. }
  34. //该段layout
  35. HDYogaFlowLayout *layout = [HDYogaFlowLayout new];//isUseSystemFlowLayout为YES时只支持HDBaseLayout
  36. layout.secInset = UIEdgeInsetsMake(0, 0, 0, 0);
  37. layout.justify = YGJustifyCenter;
  38. layout.verticalGap = 1;
  39. layout.horizontalGap = 0;
  40. layout.headerSize = CGSizeMake(kScreenWidth, 54);
  41. //该段的所有数据封装
  42. HDSectionModel *secModel = [HDSectionModel new];
  43. secModel.sectionHeaderClassStr = @"CoachArrangeClassHeaderView";
  44. secModel.headerTopStopType = HDHeaderStopOnTopTypeNormal;
  45. secModel.isNeedAutoCountCellHW = NO;
  46. secModel.sectionDataArr = cellModelArr;
  47. secModel.layout = layout;
  48. return secModel;
  49. }
  50. @end