2012-11-07 87 views
0

我想檢查我的文檔文件夾中的所有目錄,並列出名稱不在NSArray中名爲eventList的目錄。 Evenlist是一個ALAssetsGroup數組。 下面是代碼:無法刪除目錄名稱爲NSMutableArray中的項目

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和目錄的名稱是相同的。「2012年11月4日」爲即我無法刪除目的。我只是嘗試了很多字符串編碼轉換沒有成功。

有什麼建議嗎?

Regards

+0

如何使用「removeObject」而不是「removeObjectIdenticalTo」 – iDev

回答

1

removeObjectIdenticalTo:比較對象地址,而不是字符串值。所以,即使字符串是相同的字符運行,它們也必須是完全相同的對象。如果你想比較那些具有類似字符運行的字符,可以使用NSString的isEqualToString方法。

+0

它的工作原理。謝謝。 –

+0

請記住標記爲答案,以便其他人知道問題已得到解答。 –