悟空记账

JZUtil.m 2.3KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. //
  2. // JZUtil.m
  3. // JIZHANG
  4. //
  5. // Created by jikaipeng on 2017/11/6.
  6. // Copyright © 2017年 kuxuan. All rights reserved.
  7. //
  8. #import "JZUtil.h"
  9. @implementation JZUtil
  10. + (void)saveTimeinterval{
  11. //获取当前时间
  12. NSDate *date = [NSDate date];
  13. NSString *dateTimeInterval = [NSString stringWithFormat:@"%.0f",[date timeIntervalSince1970]];
  14. [[NSUserDefaults standardUserDefaults]setObject:dateTimeInterval forKey:JZTokenInvalid];
  15. }
  16. + (BOOL)judeTokenInvalid:(NSDate *)date{
  17. NSString *dateTimeInterval = [[NSUserDefaults standardUserDefaults] objectForKey:JZTokenInvalid];
  18. if (dateTimeInterval.length) {
  19. CGFloat lastTimeInterval = [dateTimeInterval floatValue];
  20. NSString *currentTimeString = [NSString stringWithFormat:@"%.0f",[date timeIntervalSince1970]];
  21. CGFloat curTimeTerval = [currentTimeString floatValue];
  22. if (curTimeTerval - lastTimeInterval < MAXFLOAT) {
  23. return YES;
  24. }
  25. return NO;
  26. }
  27. return NO;
  28. }
  29. + (BOOL)swizzleMethod:(SEL)originalSelector withMethod:(SEL)swizzledSelector error:(NSError **)error
  30. {
  31. Method originalMethod = class_getInstanceMethod(self, originalSelector);
  32. if (!originalMethod) {
  33. NSString *string = [NSString stringWithFormat:@" %@ 类没有找到 %@ 方法",NSStringFromClass([self class]),NSStringFromSelector(originalSelector)];
  34. *error = [NSError errorWithDomain:@"NSCocoaErrorDomain" code:-1 userInfo:[NSDictionary dictionaryWithObject:string forKey:NSLocalizedDescriptionKey]];
  35. return NO;
  36. }
  37. Method swizzledMethod = class_getInstanceMethod(self, swizzledSelector);
  38. if (!swizzledMethod) {
  39. NSString *string = [NSString stringWithFormat:@" %@ 类没有找到 %@ 方法",NSStringFromClass([self class]),NSStringFromSelector(swizzledSelector)];
  40. *error = [NSError errorWithDomain:@"NSCocoaErrorDomain" code:-1 userInfo:[NSDictionary dictionaryWithObject:string forKey:NSLocalizedDescriptionKey]];
  41. return NO;
  42. }
  43. if (class_addMethod(self, originalSelector, method_getImplementation(swizzledMethod), method_getTypeEncoding(swizzledMethod))) {
  44. class_replaceMethod(self, swizzledSelector, method_getImplementation(originalMethod), method_getTypeEncoding(originalMethod));
  45. }
  46. else {
  47. method_exchangeImplementations(originalMethod, swizzledMethod);
  48. }
  49. return YES;
  50. }
  51. @end