我正在实现一个函数来检查两个文件名是否可以共存在Mac上的文件夹中。 在我遇到“ß”和“SS”的问题之前,这似乎很容易。虽然具有这两个名称的文件可以存在于同一文件夹中,但各种NSString比较方法都将它们视为相同。我已经尝试过caseInsensitiveCompare,localizedCaseInsensitiveCompare,与NSCaseInsensitiveSearch和systemLocale进行比较,但它们都不起作用。任何人都知道操作系统如何进行不区分大小写的检查?
答案 0 :(得分:0)
重复文件名检查取决于操作系统的文件系统,因此您应使用NSFileManager
实例来确定文件名相等。
//Your string to check if it exists. Obviously, it should not be nil
NSString * filePath = nil;
//NSFileManager assumes tilde's are already resolved.
filePath = [filePath stringByExpandingTildeInPath];
NSFileManager * fileManager = [NSFileManager defaultManager];
if ([fileManager fileExistsAtPath:filePath])
{
//A file already exists with that name.
}