RQCommonItemViewModel.m 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  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. NSError *error = nil;
  35. NSRegularExpression *regex = [NSRegularExpression regularExpressionWithPattern:@"【(.*?)】" options:0 error:&error];
  36. NSMutableArray *array = nil;
  37. if (!error) {
  38. NSLog(@"readText=%@",readText);
  39. array = @[].mutableCopy;
  40. NSArray<NSTextCheckingResult *> *matches = [regex matchesInString:originalText options:0 range:NSMakeRange(0, originalText.length)];
  41. for (NSTextCheckingResult *match in matches) {
  42. NSMutableDictionary *dict = [NSMutableDictionary dictionary];
  43. NSRange matchedRange = [match rangeAtIndex:1];
  44. NSString *extractedText = [originalText substringWithRange:matchedRange];
  45. NSRange range = [readText rangeOfString:extractedText];
  46. dict[extractedText] = @[@(range.location),@(range.length)];
  47. [array addObject:dict];
  48. NSLog(@"Extracted Text: %@", extractedText);
  49. NSLog(@"Matched Range: %@", NSStringFromRange(matchedRange));
  50. }
  51. } else {
  52. NSLog(@"Regex Error: %@", error.localizedDescription);
  53. }
  54. return array;
  55. }
  56. @end