2013-07-17 28 views
0

我有一個包含420個NSArrays的文件。每個陣列有10到200個NSStrings。文件大小是988 KB。如何從400中選擇一個數組?

當編譯器沒有進行優化時,它會生成並運行良好。但是,當我嘗試創建一個存檔時,它會掛在「分析86個文件中的86個」上。我懷疑這是因爲編譯器停滯在優化文件。我將文件分成兩部分,大約經過一個小時的編譯後纔會存檔。

我把數組到一個字典,然後返回只是我想要的一個陣列。我認爲這就是編譯器的掛起。

-- 420 NSArrays ... 
NSArray *foils_easy = [NSArray arrayWithObjects:a_easy, about_easy, ... you_easy, your_easy, nil]; 

NSArray *keys = @[@"a", @"about", ... @"you", @"your"]; 

NSDictionary *allFoils = [NSDictionary dictionaryWithObjects:foils_easy forKeys:keys]; 
return [allFoils objectForKey:target]; 

我真的不需要字典,除了確定哪個數組返回。有沒有一種方法來構造數組名稱以便返回?也許像你一樣可以用來在屏幕上放置圖像?

NSString *foregroundImageName = [NSString stringWithFormat:@"%@ForegroundL1", scene]; 

我真的不想在420'如果'陳述,所以我希望有更好的解決方案。

+0

你應該在plist或JSON文件中包含所有這些東西。 –

回答

5

你應該儘量把字數組到一個plist文件並在運行時加載它,而不是包括所有這些字符串文字。這將保持你的代碼更清潔,並可能解決這個問題。

+0

我會試試看。需要先閱讀plists。 – JScarry

+0

plist基本上只是一個特殊格式的XML文件。看看的的NSDictionary dictionaryWithContentsOfFile:方法,還有的plist編程指南:https://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/PropertyLists/Introduction/Introduction.html#//apple_ref/doc/uid/10000048i –

+0

實際上,JSON可能是更好的選擇 - 更簡潔,更易於編寫代碼,特別是嵌套結構。 –

相關問題