閱讀915 返回首頁    go 阿裏雲 go 技術社區[雲棲]


NSFileManager擴展

//
//  NSFileManager+File.h
//  CloudShopping
//
//  Created by ljy-335 on 14-8-4.
//  Copyright (c) 2014年 uni2uni. All rights reserved.
//

#import <Foundation/Foundation.h>

/*!
 * @brief NSFileManager關於文件操作的擴展
 * @author huangyibiao
 */
@interface NSFileManager (File)

/*!
 * @brief 判斷文件是否存在於沙盒中
 * @param filePath 文件路徑名
 * @return 返回YES表示存在,返回NO表示不存在
 */
- (BOOL)isFileExists:(NSString *)filePath;

/*!
 * @brief 判斷文件是否超時
 * @param filePath 文件路徑名
 * @param timeout 限製的超時時間,單位為秒
 * @return 返回YES表示超時,返回NO表示未超時
 */
- (BOOL)isFile:(NSString *)filePath timeout:(NSTimeInterval)timeout;

@end


//
//  NSFileManager+File.m
//  CloudShopping
//
//  Created by ljy-335 on 14-8-4.
//  Copyright (c) 2014年 uni2uni. All rights reserved.
//

#import "NSFileManager+File.h"

@implementation NSFileManager (File)

/*!
 * @brief 判斷文件是否存在於沙盒中
 * @param fileName 文件路徑名
 * @return 返回YES表示存在,返回NO表示不存在
 */
- (BOOL)isFileExists:(NSString *)filePath {
    NSFileManager *fileManager = [NSFileManager defaultManager];
    BOOL result = [fileManager fileExistsAtPath:filePath];
    
    return result;
}

/*!
 * @brief 判斷文件是否超時
 * @param filePath 文件路徑名
 * @param timeout 限製的超時時間,單位為秒
 * @return 返回YES表示超時,返回NO表示未超時
 */
- (BOOL)isFile:(NSString *)filePath timeout:(NSTimeInterval)timeout {
    if ([[NSFileManager defaultManager] isFileExists:filePath]) {
        NSError *error = nil;
       NSDictionary *attributes = [[NSFileManager defaultManager] attributesOfItemAtPath:filePath
                                                                                   error:&error];
        if (error) {
            return YES;
        }
        if ([attributes isKindOfClass:[NSDictionary class]] && attributes) {
          //  NSLog(@"%@", attributes);
            NSString *createDate = [attributes objectForKey:@"NSFileModificationDate"];
            createDate = [NSString stringWithFormat:@"%@", createDate];
            if (createDate.length >= 19) {
                createDate = [createDate substringToIndex:19];
                NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
                formatter.dateFormat = @"yyyy-MM-dd HH:mm:ss";

                NSDate *sinceDate = [formatter dateFromString:createDate];
                NSTimeInterval interval = [[NSDate date] timeIntervalSinceDate:sinceDate];
                return interval <= 0;
            }
        }
    }
    return YES;
}

@end


最後更新:2017-04-03 05:39:42

  上一篇:go 定製textField
  下一篇:go 給label添加超鏈接等處理