Имя файла пользовательского ресурса значка папки "Icon\r
" (Icon
, за которым следует возврат каретки).
Что я обычно делаю при перечислении директории, в которой я хочу пропустить невидимые элементы (те, чье имя начинается с "."), Это проверка префикса @ ".":
NSMutableArray *fullPaths = [NSMutableArray array];
NSFileManager *fileManager = [[[NSFileManager alloc] init] autorelease];
NSArray *subpaths = [fileManager subpathsAtPath:filePath];
for (NSString *subpath in subpaths) {
if ( ![[subpath lastPathComponent] hasPrefix:@"."] &&
![[subpath lastPathComponent] isEqualToString:@"Icon\r"]) {
[fullPaths addObject:[filePath stringByAppendingPathComponent:subpath]];
}
}
// continue
Приведенный выше код будет работать в 10.5 и более поздних версиях (или даже в 10.0, я полагаю, если вы изменили быстрое перечисление для использования NSEnumerator
).
P.S. Если вы создаете NSFileManager
с использованием +defaultManager
, вам не следует использовать строку [manager release]
, так как это может привести к перевыпуску.
Итак, вместо:
NSFileManager *manager = [NSFileManager defaultManager];
//
[manager release];
сделать
NSFileManager *manager = [[NSFileManager alloc] init];
//
[manager release];
или
NSFileManager *manager = [NSFileManager defaultManager];
//