31 Ocak 2009, CUMARTESİ
Bir topak ile bir dizindeki dosyaların listesini almak
Saçma sapan bir şeyden belirli bir dizin için bir topak ile dosyaların listesini almak için bir yol bulamıyorum.
Şu anda çizgisinde bir şey başıma kaldı:
NSString *bundleRoot = [[NSBundle mainBundle] bundlePath];
NSArray *dirContents = [[NSFileManager defaultManager]
directoryContentsAtPath:bundleRoot];
..ve bu berbat bir şey istemiyorum şeyler, dışarı sıyırma sonra. Ama gerçekten arama yapabilmek için istediğim bir şey için "foo.*"yerine tüm dizin istiyor, ama böyle bir şey bulabilmiş değilim. jpg
Nasıl yapıyorsun bunu?
CEVAP
25 Mayıs 2009, PAZARTESİ
Bu oldukça kolay NSPredicate yardımı ile, yani elde edebilirsiniz:
NSString *bundleRoot = [[NSBundle mainBundle] bundlePath];
NSFileManager *fm = [NSFileManager defaultManager];
NSArray *dirContents = [fm contentsOfDirectoryAtPath:bundleRoot error:nil];
NSPredicate *fltr = [NSPredicate predicateWithFormat:@"self ENDSWITH '.jpg'"];
NSArray *onlyJPGs = [dirContents filteredArrayUsingPredicate:fltr];
Eğer NSURL ile yerine yapmanız gereken bu gibi görünüyor:
NSURL *bundleRoot = [[NSBundle mainBundle] bundleURL];
NSArray * dirContents =
[fm contentsOfDirectoryAtURL:bundleRoot
includingPropertiesForKeys:@[]
options:NSDirectoryEnumerationSkipsHiddenFiles
error:nil];
NSPredicate * fltr = [NSPredicate predicateWithFormat:@"pathExtension='jpg'"];
NSArray * onlyJPGs = [dirContents filteredArrayUsingPredicate:fltr];
Bunu Paylaş:
Geçerli dizindeki tüm alt dizin listes...
Groovy : bir dizindeki tüm dosyaları (...
Nasıl Gıt etiketlerinin bir listesini ...
SQL server Veri tipleri, BOŞ bir not i...
Nasıl belirli bir öznitelik ile özelli...