NSEnumerator使用
2017-02-08 本文已影响0人
楚简约
NSEnumerator
①依附于集合类(NSArray,NSSet,NSDictionary),没有用来创建实例的接口。
②NSEnumerator的nextObject方法可以遍历每个集合元素,结束返回nil,通过与while结合使用可遍历集合中所有项。
+ (void)cleanCache //清除缓存
{
NSFileManager *fileManager = [NSFileManager defaultManager];
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSArray *contents = [fileManager contentsOfDirectoryAtPath:documentsDirectory error:NULL];
NSEnumerator *e = [contents objectEnumerator];
NSString *filename;
while ((filename = [e nextObject])) {
if (([[filename pathExtension] isEqualToString:@"plist"] && [filename rangeOfString:@"cheer.plist"].length == 0 && [filename rangeOfString:@"ReviewZanId"].length == 0) || [filename isEqualToString:@"com.hackem.SDWebImageCache.default"] || [filename isEqualToString:@"default"] || [filename isEqualToString:@"com.hubei.mobileNews"]) {
[fileManager removeItemAtPath:[documentsDirectory stringByAppendingPathComponent:filename] error:NULL];
}
}
}
③对可变数组进行枚举操作时,不能通过添加或删除对象这类方式来改变数组容器。