LKDBUtils.m 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109
  1. //
  2. // NSObject+LKUtils.m
  3. // LKDBHelper
  4. //
  5. // Created by upin on 13-4-15.
  6. // Copyright (c) 2013年 ljh. All rights reserved.
  7. //
  8. #import "LKDBUtils.h"
  9. @interface LKDateFormatter : NSDateFormatter
  10. @property(strong,nonatomic)NSLock* lock;
  11. @end
  12. @implementation LKDateFormatter
  13. //防止在IOS5下 多线程 格式化时间时 崩溃
  14. -(NSDate *)dateFromString:(NSString *)string
  15. {
  16. [_lock lock];
  17. NSDate* date = [super dateFromString:string];
  18. [_lock unlock];
  19. return date;
  20. }
  21. -(NSString *)stringFromDate:(NSDate *)date
  22. {
  23. [_lock lock];
  24. NSString* string = [super stringFromDate:date];
  25. [_lock unlock];
  26. return string;
  27. }
  28. @end
  29. @implementation LKDBUtils
  30. +(NSString *)getDocumentPath
  31. {
  32. NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
  33. NSString *documentsDirectory = [paths objectAtIndex:0];
  34. return documentsDirectory;
  35. }
  36. +(NSString *)getDirectoryForDocuments:(NSString *)dir
  37. {
  38. NSError* error;
  39. NSString* path = [[self getDocumentPath] stringByAppendingPathComponent:dir];
  40. if(![[NSFileManager defaultManager] createDirectoryAtPath:path withIntermediateDirectories:YES attributes:nil error:&error])
  41. {
  42. NSLog(@"create dir error: %@",error.debugDescription);
  43. }
  44. return path;
  45. }
  46. + (NSString *)getPathForDocuments:(NSString *)filename
  47. {
  48. return [[self getDocumentPath] stringByAppendingPathComponent:filename];
  49. }
  50. +(NSString *)getPathForDocuments:(NSString *)filename inDir:(NSString *)dir
  51. {
  52. return [[self getDirectoryForDocuments:dir] stringByAppendingPathComponent:filename];
  53. }
  54. +(BOOL)isFileExists:(NSString *)filepath
  55. {
  56. return [[NSFileManager defaultManager] fileExistsAtPath:filepath];
  57. }
  58. +(BOOL)deleteWithFilepath:(NSString *)filepath
  59. {
  60. return [[NSFileManager defaultManager] removeItemAtPath:filepath error:nil];
  61. }
  62. +(NSArray*)getFilenamesWithDir:(NSString*)dir
  63. {
  64. NSFileManager* fileManager = [NSFileManager defaultManager];
  65. NSArray *fileList = [fileManager contentsOfDirectoryAtPath:dir error:nil];
  66. return fileList;
  67. }
  68. +(BOOL)checkStringIsEmpty:(NSString *)string
  69. {
  70. if(string == nil)
  71. {
  72. return YES;
  73. }
  74. if([string isKindOfClass:[NSString class]] == NO)
  75. {
  76. return YES;
  77. }
  78. return [[string stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]] isEqualToString:@""];
  79. }
  80. +(NSDateFormatter*)getDBDateFormat
  81. {
  82. static NSDateFormatter* format;
  83. static dispatch_once_t onceToken;
  84. dispatch_once(&onceToken, ^{
  85. format = [[LKDateFormatter alloc]init];
  86. format.dateFormat = @"yyyy-MM-dd HH:mm:ss";
  87. });
  88. return format;
  89. }
  90. +(NSString*)stringWithDate:(NSDate*)date
  91. {
  92. NSDateFormatter* formatter = [self getDBDateFormat];
  93. NSString* datestr = [formatter stringFromDate:date];
  94. return datestr;
  95. }
  96. +(NSDate *)dateWithString:(NSString *)str
  97. {
  98. NSDateFormatter* formatter =[self getDBDateFormat];
  99. NSDate* date = [formatter dateFromString:str];
  100. return date;
  101. }
  102. @end