iOS清理缓存(OC/Swift)

OC版:

- (void)clearCache{

[SVProgressHUDshowWithStatus:@"清理缓存中..."maskType:SVProgressHUDMaskTypeBlack];

NSString*crashSize =self.cachesSize;

dispatch_async(

dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT,0)

, ^{

NSString*cachPath =filePath;

NSArray*files = [[NSFileManagerdefaultManager]subpathsAtPath:cachPath];

for(NSString*pinfiles) {

NSError*error;

NSString*path = [cachPathstringByAppendingPathComponent:p];

if([[NSFileManagerdefaultManager]fileExistsAtPath:path]) {

[[NSFileManagerdefaultManager]removeItemAtPath:patherror:&error];

}

}

dispatch_async(dispatch_get_main_queue(), ^{

self.cachesSize= [CellFactorygetCacheSizeWithFilePath:filePath];

[self.tableViewreloadData];

});

});

dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(5*NSEC_PER_SEC)),dispatch_get_main_queue(), ^{

[SVProgressHUDshowSuccessWithStatus:[NSStringstringWithFormat:@"清除了%@的缓存",crashSize]];

[MobClickevent:mine_set_clearcrash];

});

}

Swift版:

/**清理缓存*/

funcclearAction() {

letalert =UIAlertController(title:"清除缓存", message:getCacheSize(), preferredStyle:UIAlertControllerStyle.alert)

letalertConfirm =UIAlertAction(title:"确定", style:UIAlertActionStyle.default) { (alertConfirm) ->Voidin

// 点击确定时开始删除

forpinself.getCacheFilePath()!{

// 拼接路径

letpath =self.getCachePath()!.appendingFormat("/\(p)")

// 判断是否可以删除

if(FileManager.default.fileExists(atPath: path)){

// 删除

do{

tryFileManager.default.removeItem(atPath: path)

}catch{

print(error)

}

}

}

}

alert.addAction(alertConfirm)

letcancle =UIAlertAction(title:"取消", style:UIAlertActionStyle.cancel) { (cancle) ->Voidin

}

alert.addAction(cancle)

// 提示框弹出

present(alert, animated:true) { () ->Voidin

}

}

你可能感兴趣的:(iOS清理缓存(OC/Swift))