我想检查文档文件夹中的所有目录,并列出名称不在名为eventList的NSArray中的目录。 Evenlist是ALAssetsGroup的数组。 这是代码:
NSLog(@"eventList %@",eventList);
NSFileManager *fileManager = [NSFileManager defaultManager];
NSMutableArray *tagsFolderList = [[NSMutableArray alloc] init];
tagsFolderList = [[fileManager contentsOfDirectoryAtPath:tagsPath error:nil] mutableCopy];
NSLog(@"tagsFolderList %@",tagsFolderList);
if(([tagsFolderList count] > 0) && ([eventList count] > 0))
{
for (int i=0; i<[eventList count]; i++) {
NSString *eventName = [[eventList objectAtIndex:i] valueForProperty:ALAssetsGroupPropertyName];
NSLog(@"eventName %@",eventName);
[tagsFolderList removeObjectIdenticalTo:eventName];
}
以下是日志:
eventList (
"ALAssetsGroup - Name:19 ao\U00fbt 2012, Type:Event, Assets count:27",
"ALAssetsGroup - Name:21 ao\U00fbt 2012, Type:Event, Assets count:8",
"ALAssetsGroup - Name:2 nov. 2012, Type:Event, Assets count:12",
"ALAssetsGroup - Name:4 nov. 2012, Type:Event, Assets count:9"
)
tagsFolderList (
"1 nov. 2012",
"19 aou\U0302t 2012",
"2 nov. 2012",
"4 nov. 2012",
"6 oct. 2012"
)
eventName 19 août 2012
即使ALAssetsGroup和目录的名称相同,也就是“4 nov.2012”,即我无法删除该对象。我只是尝试了很多字符串编码转换而没有成功。
有什么建议吗?
此致
答案 0 :(得分:1)
removeObjectIdenticalTo:比较对象地址,而不是字符串值。因此,即使字符串是相同的字符运行,它们也必须是完全相同的对象。如果要比较具有相似字符运行的那些,请使用NSString的isEqualToString方法。