iOS 개발 의 1 줄 코드 캐 시 계산 및 캐 시 제거
3172 단어 ios깨끗이 제거 하 다캐 시
//
// gzhCache.h
// cache
//
// Created by on 2020/5/27.
// Copyright © 2020 . All rights reserved.
//
#import <Foundation/Foundation.h>
NS_ASSUME_NONNULL_BEGIN
@interface gzhCache : NSObject
///
+(float)filePath;
///
+(void)clearCache;
@end
NS_ASSUME_NONNULL_END
//
// gzhCache.m
// cache
//
// Created by on 2020/5/27.
// Copyright © 2020 . All rights reserved.
//
#import "gzhCache.h"
@implementation gzhCache
//
+ (float)filePath {
NSString * cachPath = [ NSSearchPathForDirectoriesInDomains ( NSCachesDirectory , NSUserDomainMask , YES ) firstObject ];
return [ self folderSizeAtPath :cachPath];
}
//
+ (long long) fileSizeAtPath:( NSString *) filePath{
NSFileManager * manager = [ NSFileManager defaultManager ];
if ([manager fileExistsAtPath :filePath]){
return [[manager attributesOfItemAtPath :filePath error : nil ] fileSize ];
}
return 0 ;
}
// , M
+ (float)folderSizeAtPath:(NSString *)folderPath{
NSFileManager * manager = [ NSFileManager defaultManager ];
if (![manager fileExistsAtPath :folderPath]) return 0 ;
NSEnumerator *childFilesEnumerator = [[manager subpathsAtPath :folderPath] objectEnumerator ];
NSString * fileName;
long long folderSize = 0 ;
while ((fileName = [childFilesEnumerator nextObject ]) != nil ){
NSString * fileAbsolutePath = [folderPath stringByAppendingPathComponent :fileName];
folderSize += [ self fileSizeAtPath :fileAbsolutePath];
}
return folderSize/( 1024.0 * 1024.0 );
}
//
+ (void)clearCache {
NSString * cachPath = [ NSSearchPathForDirectoriesInDomains ( NSCachesDirectory , NSUserDomainMask , YES ) firstObject ];
NSArray * files = [[ NSFileManager defaultManager ] subpathsAtPath :cachPath];
NSLog ( @"cachpath = %@" , cachPath);
for ( NSString * p in files) {
NSError * error = nil ;
NSString * path = [cachPath stringByAppendingPathComponent :p];
if ([[ NSFileManager defaultManager ] fileExistsAtPath :path]) {
[[ NSFileManager defaultManager ] removeItemAtPath :path error :&error];
}
}
[ self performSelectorOnMainThread : @selector (clearCachSuccess) withObject : nil waitUntilDone : YES ];
}
+ (void)clearCachSuccess {
NSLog(@" ");
}
@end
크기 를 조회 할 곳 에서 사용:
NSString *str = [NSString stringWithFormat:@"%.2fM",[gzhCache filePath]];
청소 방법 호출
[gzhCache clearCache];
이상 의 내용 은 본 채소 의 견 해 를 대표 할 뿐 복 제 는 직접 사용 할 수 있다.만약 타당 하지 않 은 점 이 있 으 면 알려 주 십시오.자,이 iOS 에서 개발 한 1 줄 코드 로 캐 시 컴 퓨 팅 및 캐 시 제거 에 관 한 글 을 소개 합 니 다.더 많은 iOS 캐 시 컴 퓨 팅 및 캐 시 제거 내용 은 이전 글 을 검색 하거나 아래 의 관련 글 을 계속 찾 아 보 세 요.앞으로 많은 지원 바 랍 니 다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Swift의 패스트 패스Objective-C를 대체하기 위해 만들어졌지만 Xcode는 Objective-C 런타임 라이브러리를 사용하기 때문에 Swift와 함께 C, C++ 및 Objective-C를 컴파일할 수 있습니다. Xcode는 S...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.