2014-02-05 46 views
0

我想知道是否創建了一個充滿文件(如圖像)的組或文件夾,如img1.jpg,[email protected],img2.jpg,img2 @ 2x。 jpg ... img10.jpg,[email protected],有沒有辦法在不知道有多少圖像的情況下動態創建所有這些圖像的數組?基本上,我想要一些動態的東西,所以如果我添加更多而不必更新我的代碼,它會找到所有新圖像。這可以做到嗎?您需要添加包含這些圖像「作爲參考」的文件夾引用Xcode中的組或文件夾中的所有文件

感謝您的幫助......

+1

在您的應用中找到它們或者在xCode上找到它們? – Putz1103

+0

你是否從某處下載圖像?如果你將它們存儲在一個NSMUtableArray中。這就是存儲未知數量的項目的原因。你不需要文件夾,你需要保存它們。 – Mika

回答

0

爲了讓Xcode的自動檢測新的圖像。當點擊並拖動圖像文件夾到xCode時,它會彈出一個導入窗口。其中一個徑向按鈕將具有「添加爲參考」選項。選擇那個,文件夾將自動更新,添加任何內容。您可能需要清理並重建項目,以便xCode實際將這些更新發送到您的應用程序。

要做到這一點在你的應用程序(代碼),你會做這樣的事情:

NSError *error; 
NSArray *fileList = [[NSFileManager defaultManager] contentsOfDirectoryAtPath:yourFolderPath error:&error]; 

這會給你一個包含所有選擇的文件夾內的文件和文件夾的名稱NSString的數組。如果你也需要子文件夾,那麼你將不得不做遞歸調用。

1

沒有呢,可惜的XCode沒有這個功能,但是如果您願意手動增加一個常數,你可以很容易地做一些字符串操作獲取數組:

#define IMAGE_COUNT 10 
#define PREFIX @"img" 

NSMutableArray *images, *images2x; 
images = [NSMutableArray arrayWithCapacity:IMAGE_COUNT]; 
images2x = [NSMutableArray arrayWithCapacity:IMAGE_COUNT]; 

for(int i = 0; i < IMAGE_COUNT; i++){ 
    NSString *imagePath = [PREFIX stringByAppendingFormat:@"%d.jpg",i]; 
    NSString *image2xPath = [PREFIX stringByAppendingFormat:@"%[email protected]",i]; 

    [images addObject:[UIImage imageNamed:imagePath]]; 
    [images2x addObject:[UIImage imageNamed:image2xPath]]; 
} 

你手動添加文件並且它們都被編號,所以每次添加圖像時都不會傷害到簡單地更改IMAGE_COUNT。

+0

謝謝,我認爲這可能是最好的方法。不幸的是,我找不到任何完全動態的東西。 – SeanT

相關問題