次のサンプル プログラムは同じ結果を出力しますが、プログラムは正しく動作しません。
NSDirectoryEnumerator *directoryEnumerator = [[NSFileManager defaultManager]
enumeratorAtPath:kDocdir];
for (NSString *pathi in directoryEnumerator)
{
NSString *fileName_Manager = [pathi lastPathComponent];
NSLog(@"fileName_Manager = %@",fileName_Manager);
Artist *name_Databse = [self.fetchedResultsController
objectAtIndexPath:IndexPath];
NSLog(@"name_Databse = %@",name_Databse.name);
if ([fileName_Manager isEqualToString:name_Databse.name]) {
NSLog(@"Same Name");
}else{
NSLog(@"Different Name");
}
}
出力:
2013-04-25 15:37:43.256 Player[36436:907] fileName_Manager = alizée - mèxico - final j'en
2013-04-25 15:37:43.272 Player[36436:907] name_Databse = alizée - mèxico - final j'en
2013-04-25 15:37:44.107 Player[36436:907] Different Name
名前に特殊文字がある場合、正しく機能しません。なぜこうなった?ありがとう ...
ここで同じ問題があります:
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"name == %@",[pathi lastPathComponent]];
ここで編集するにはどうすればよいですか?