第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

使用glob獲取目錄中的文件列表

使用glob獲取目錄中的文件列表

iOS
尚方寶劍之說 2019-10-05 13:19:27
出于某種瘋狂的原因,我無法找到一種方法來獲取給定目錄的文件列表。我目前在以下方面陷入困境:NSString *bundleRoot = [[NSBundle mainBundle] bundlePath];NSArray *dirContents = [[NSFileManager defaultManager]                         directoryContentsAtPath:bundleRoot];..然后去掉我不想要的東西,這很爛。但是我真正想要的是能夠搜索“ foo * .jpg”之類的內(nèi)容,而不是查詢整個目錄,但是我卻找不到類似的東西。那你怎么做到的呢?
查看完整描述

3 回答

?
小唯快跑啊

TA貢獻(xiàn)1863條經(jīng)驗(yàn) 獲得超2個贊

您可以借助NSPredicate輕松實(shí)現(xiàn)此目標(biāo),如下所示:


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];

如果您需要使用NSURL代替,它看起來像這樣:


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];


查看完整回答
反對 回復(fù) 2019-10-05
?
慕工程0101907

TA貢獻(xiàn)1887條經(jīng)驗(yàn) 獲得超5個贊

這非常適合IOS,但也應(yīng)該適用cocoa。


NSString *bundleRoot = [[NSBundle mainBundle] bundlePath];

NSFileManager *manager = [NSFileManager defaultManager];

NSDirectoryEnumerator *direnum = [manager enumeratorAtPath:bundleRoot];

NSString *filename;


while ((filename = [direnum nextObject] )) {


    //change the suffix to what you are looking for

    if ([filename hasSuffix:@".data"]) {   


        // Do work here

        NSLog(@"Files in resource folder: %@", filename);            

    }       

}


查看完整回答
反對 回復(fù) 2019-10-05
?
慕俠2389804

TA貢獻(xiàn)1719條經(jīng)驗(yàn) 獲得超6個贊

如何使用NSString的hasSuffix和hasPrefix方法?類似于(如果您要搜索“ foo * .jpg”):


NSString *bundleRoot = [[NSBundle mainBundle] bundlePath];

NSArray *dirContents = [[NSFileManager defaultManager] directoryContentsAtPath:bundleRoot];

for (NSString *tString in dirContents) {

    if ([tString hasPrefix:@"foo"] && [tString hasSuffix:@".jpg"]) {


        // do stuff


    }

}

對于像這樣的簡單,直接的匹配,它比使用正則表達(dá)式庫更簡單。


查看完整回答
反對 回復(fù) 2019-10-05
  • 3 回答
  • 0 關(guān)注
  • 771 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號