RQCommonItemViewModel.m 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. //
  2. // RQCommonItemViewModel.m
  3. // RQCommon
  4. //
  5. // Created by 张嵘 on 2018/11/27.
  6. // Copyright © 2018 张嵘. All rights reserved.
  7. //
  8. #import "RQCommonItemViewModel.h"
  9. @implementation RQCommonItemViewModel
  10. + (instancetype)itemViewModelWithTitle:(NSString *)title icon:(NSString *)icon{
  11. RQCommonItemViewModel *item = [[self alloc] init];
  12. item.title = title;
  13. item.icon = icon;
  14. return item;
  15. }
  16. + (instancetype)itemViewModelWithTitle:(NSString *)title{
  17. return [self itemViewModelWithTitle:title icon:nil];
  18. }
  19. - (instancetype)init
  20. {
  21. self = [super init];
  22. if (self) {
  23. _selectionStyle = UITableViewCellSelectionStyleGray;
  24. _rowHeight = RQ_FIT_HORIZONTAL(60.0f);
  25. _delegate = self;
  26. }
  27. return self;
  28. }
  29. - (NSString *)itemClassName {
  30. return @"RQCommonCell";
  31. }
  32. //获取字典
  33. - (NSArray *)getKeyRangeList:(NSString *)originalText readText:(NSString*)readText {
  34. if(originalText==nil||readText==nil)return @[];
  35. NSError *error = nil;
  36. NSRegularExpression *regex = [NSRegularExpression regularExpressionWithPattern:@"【(.*?)】" options:0 error:&error];
  37. NSMutableArray *array = nil;
  38. if (!error) {
  39. NSLog(@"readText=%@",readText);
  40. array = @[].mutableCopy;
  41. NSArray<NSTextCheckingResult *> *matches = [regex matchesInString:originalText options:0 range:NSMakeRange(0, originalText.length)];
  42. for (NSTextCheckingResult *match in matches) {
  43. NSMutableDictionary *dict = [NSMutableDictionary dictionary];
  44. NSRange matchedRange = [match rangeAtIndex:1];
  45. NSString *extractedText = [originalText substringWithRange:matchedRange];
  46. NSRange range = [readText rangeOfString:extractedText];
  47. dict[extractedText] = @[@(range.location),@(range.length)];
  48. [array addObject:dict];
  49. NSLog(@"Extracted Text: %@", extractedText);
  50. NSLog(@"Matched Range: %@", NSStringFromRange(matchedRange));
  51. }
  52. } else {
  53. NSLog(@"Regex Error: %@", error.localizedDescription);
  54. }
  55. return array;
  56. }
  57. @end