IOS 开发之小技点汇总_Cookie,缓存,字符串
来源:互联网 发布:对网店美工的认识 编辑:程序博客网 时间:2024/04/28 00:57
1、JS 调用IOS相机的时候是英文状态
解决方法:把plist文件的Localization native development region, en改成China 。
2、在字符串中截取两个字符串之间的字符串
NSRange start = [String rangeOfString:@">{"];NSRange end = [String rangeOfString:@"}<"];NSString *sub = [String substringWithRange:NSMakeRange(start.location+1, end.location-start.location)];
3、清除cookie
(1)清除所有的cookie 方法
OC:
NSURL *url = [NSURL URLWithString:@"http://www.baidu.com"]; if (url) { NSArray *cookies = [[NSHTTPCookieStorage sharedHTTPCookieStorage] cookiesForURL:url]; for (int i = 0; i < [cookies count]; i++) { NSHTTPCookie *cookie = (NSHTTPCookie *)[cookies objectAtIndex:i]; [[NSHTTPCookieStorage sharedHTTPCookieStorage] deleteCookie:cookie]; }
(2)清除指定的cookie
let cookArray = NSHTTPCookieStorage.sharedHTTPCookieStorage().cookiesForURL(NSURL.init(string: URL)!); for cookie:NSHTTPCookie in cookArray! { if cookie.name == "ULSID" {NSHTTPCookieStorage.sharedHTTPCookieStorage().deleteCookie(cookie); } }
(3)清除所有URL缓存
[[NSURLCache sharedURLCache] removeAllCachedResponses];
4、清除app缓存
Swift:
(1)计算缓存大小
var cacheSize: String{ get{ let basePath = NSSearchPathForDirectoriesInDomains(NSSearchPathDirectory.CachesDirectory, NSSearchPathDomainMask.UserDomainMask, true).first let fileManager = NSFileManager.defaultManager() func caculateCache() -> Float{ var total: Float = 0 if fileManager.fileExistsAtPath(basePath!){ let childrenPath = fileManager.subpathsAtPath(basePath!) if childrenPath != nil{ for path in childrenPath!{ let childPath = basePath!.stringByAppendingString("/").stringByAppendingString(path) do{ let attr = try fileManager.attributesOfItemAtPath(childPath) let fileSize = attr["NSFileSize"] as! Float total += fileSize }catch _{ } } } } return total } let totalCache = caculateCache() return NSString(format: "%.2f MB", totalCache / 1024.0 / 1024.0 ) as String } }
(2)清除缓存
func clearCache() -> Bool{ var result = true let basePath = NSSearchPathForDirectoriesInDomains(NSSearchPathDirectory.CachesDirectory, NSSearchPathDomainMask.UserDomainMask, true).first let fileManager = NSFileManager.defaultManager() if fileManager.fileExistsAtPath(basePath!){ let childrenPath = fileManager.subpathsAtPath(basePath!) for childPath in childrenPath!{ let cachePath = basePath?.stringByAppendingString("/").stringByAppendingString(childPath) do{ try fileManager.removeItemAtPath(cachePath!) }catch _{ result = false } } } return result }
OC:
(1)查找缓存
- (void)clearCache{NSString *path = [NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES) lastObject]; NSFileManager *fileManager=[NSFileManager defaultManager]; if ([fileManager fileExistsAtPath:path]) { //拿到算有文件的数组 NSArray *childerFiles = [fileManager subpathsAtPath:path]; //拿到每个文件的名字,如有有不想清除的文件就在这里判断 for (NSString *fileName in childerFiles) { //将路径拼接到一起 NSString *fullPath = [path stringByAppendingPathComponent:fileName]; folderSize += [self fileSizeAtPath:fullPath]; } //点击了确定,遍历整个caches文件,将里面的缓存清空 NSString *path = [NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES) lastObject]; NSFileManager *fileManager=[NSFileManager defaultManager]; if ([fileManager fileExistsAtPath:path]) { NSArray *childerFiles=[fileManager subpathsAtPath:path]; for (NSString *fileName in childerFiles) { //如有需要,加入条件,过滤掉不想删除的文件 NSString *absolutePath=[path stringByAppendingPathComponent:fileName]; [fileManager removeItemAtPath:absolutePath error:nil]; [self clear]; } } }}
(2)计算大小
-(float)fileSizeAtPath:(NSString *)path{ NSFileManager *fileManager=[NSFileManager defaultManager]; if([fileManager fileExistsAtPath:path]){ long long size=[fileManager attributesOfItemAtPath:path error:nil].fileSize; return size/1024.0/1024.0; } return 0;}
(3)清除缓存
- (void)clear{ NSString *path = [NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES) lastObject]; NSFileManager *fileManager=[NSFileManager defaultManager]; if ([fileManager fileExistsAtPath:path]) { //拿到算有文件的数组 NSArray *childerFiles = [fileManager subpathsAtPath:path]; //拿到每个文件的名字,如有有不想清除的文件就在这里判断 for (NSString *fileName in childerFiles) { //将路径拼接到一起 NSString *fullPath = [path stringByAppendingPathComponent:fileName]; folderSize += [self fileSizeAtPath:fullPath]; [self showAlert:@"清除成功"]; } }}
0 0
- IOS 开发之小技点汇总_Cookie,缓存,字符串
- iOS开发之缓存:内存缓存
- iOS开发之缓存(二):缓存
- IOS开发之----资源汇总
- iOS开发之Bug汇总
- IOS开发之----资源汇总
- IOS开发之----资源汇总
- iOS开发之网页缓存
- iOS 开发之缓存清除
- IOS开发之字符串处理
- IOS开发之细节知识点汇总
- IOS开发之细节知识点汇总
- iOS开发之手势识别汇总
- iOS开发之手势识别汇总
- iOS开发之手势识别汇总
- iOS开发之MAC常用快捷键汇总
- iOS开发之手势识别汇总
- iOS开发之本地缓存机制
- 怎么用CorelDRAW 实现蒙版效果
- 智能指针的设计思想
- hdu 1584 蜘蛛牌 区间dp
- Android之旅---广播(BroadCast)
- 会报错的,是什么原因?
- IOS 开发之小技点汇总_Cookie,缓存,字符串
- C#实现文本关键词过滤
- MyEclipse中设置默认编码方式
- Mybatis 批量插入引发的血案
- HDU 2802 F(N)(简单题,找循环解)
- C语言中的strrch()函数
- Xshell 乱码问题解决
- Oracle SQL*Plus命令行工具
- 种一棵树最好的时间是十年前,其次是现在。