LookinStaticAsyncUpdateTask.m 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. //
  2. // LookinStaticAsyncUpdateTask.m
  3. // Lookin
  4. //
  5. // Created by Li Kai on 2019/6/21.
  6. // https://lookin.work
  7. //
  8. #import "LookinStaticAsyncUpdateTask.h"
  9. @implementation LookinStaticAsyncUpdateTask
  10. - (void)encodeWithCoder:(NSCoder *)aCoder {
  11. [aCoder encodeObject:@(self.oid) forKey:@"oid"];
  12. [aCoder encodeInteger:self.taskType forKey:@"taskType"];
  13. }
  14. - (instancetype)initWithCoder:(NSCoder *)aDecoder {
  15. if (self = [super init]) {
  16. self.oid = [[aDecoder decodeObjectForKey:@"oid"] unsignedLongValue];
  17. self.taskType = [aDecoder decodeIntegerForKey:@"taskType"];
  18. }
  19. return self;
  20. }
  21. + (BOOL)supportsSecureCoding {
  22. return YES;
  23. }
  24. - (NSUInteger)hash {
  25. return self.oid ^ self.taskType;
  26. }
  27. - (BOOL)isEqual:(id)object {
  28. if (self == object) {
  29. return YES;
  30. }
  31. if (![object isKindOfClass:[LookinStaticAsyncUpdateTask class]]) {
  32. return NO;
  33. }
  34. LookinStaticAsyncUpdateTask *targetTask = object;
  35. if (self.oid == targetTask.oid && self.taskType == targetTask.taskType) {
  36. return YES;
  37. }
  38. return NO;
  39. }
  40. @end
  41. @implementation LookinStaticAsyncUpdateTasksPackage
  42. - (void)encodeWithCoder:(NSCoder *)aCoder {
  43. [aCoder encodeObject:self.tasks forKey:@"tasks"];
  44. }
  45. - (instancetype)initWithCoder:(NSCoder *)aDecoder {
  46. if (self = [super init]) {
  47. self.tasks = [aDecoder decodeObjectForKey:@"tasks"];
  48. }
  49. return self;
  50. }
  51. + (BOOL)supportsSecureCoding {
  52. return YES;
  53. }
  54. @end