NIMKitMessageAtModel.m 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. //
  2. // NIMKitMessageAtModel.m
  3. // NIMKit
  4. //
  5. // Created by chris on 2016/12/7.
  6. // Copyright © 2016年 NetEase. All rights reserved.
  7. //
  8. #import "NIMKitMessageAtModel.h"
  9. @implementation NIMKitMessageAtData
  10. @end
  11. @interface NIMKitMessageAtInfo()
  12. @property (nonatomic,strong) NSMutableArray *atMessageListArray;
  13. @end
  14. @implementation NIMKitMessageAtInfo
  15. - (id)initSendAtMessageInfo
  16. {
  17. self = [super init];
  18. if (self)
  19. {
  20. self.atMessageListArray = [[NSMutableArray alloc] init];
  21. }
  22. return self;
  23. }
  24. - (void)addSendAtMessageData:(NIMKitMessageAtData *)data
  25. {
  26. [self.atMessageListArray addObject:data];
  27. }
  28. - (NSRange)deleteTextWithRange:(NSRange)range
  29. text:(NSString*)text
  30. {
  31. // [self valideUserIDListWithText:text];
  32. __block NSRange resultRange = NSMakeRange(NSNotFound, 0);
  33. __block NSInteger totalLength = range.location + range.length;
  34. [self.atMessageListArray enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL *stop) {
  35. NIMKitMessageAtData *data = (NIMKitMessageAtData*)obj;
  36. if (data.range.location + data.range.length == totalLength)
  37. {
  38. resultRange = data.range;
  39. [self.atMessageListArray removeObject:obj];
  40. }
  41. }];
  42. return resultRange;
  43. }
  44. - (void)addTextWithReplaceRange:(NSRange)replaceRange
  45. text:(NSString*)text
  46. {
  47. //[self valideUserIDListWithText:text];
  48. [self.atMessageListArray enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL *stop) {
  49. NIMKitMessageAtData *data = (NIMKitMessageAtData*)obj;
  50. if (replaceRange.location >= data.range.location
  51. && replaceRange.location < (data.range.location + data.range.length)) {
  52. [self.atMessageListArray removeObject:obj];
  53. }
  54. }];
  55. }
  56. @end