我在將大型plist填充到數組中時遇到了一些問題。這裏是代碼段的給我的問題:Objective C - 從超大型PList填充數組
// Populate the routes.
NSString *filePath = [[NSBundle mainBundle] pathForResource:@"routes" ofType:@"plist"];
NSMutableArray *routes = [NSMutableArray arrayWithContentsOfFile:filePath];
NSLog(@"Routes: %@", routes);
// Populate the trips.
NSString *filePath2 = [[NSBundle mainBundle] pathForResource:@"trips" ofType:@"plist"];
NSMutableArray *trips = [NSMutableArray arrayWithContentsOfFile:filePath2];
NSLog(@"Trips: %@", trips);
我的問題是,顯示該車次陣列在日誌中的每個可變數組,在日誌中的路線陣列顯示就好了,但日誌後乾脆沒有按」根本不出現。通常當發生問題時,日誌會顯示類似「Trips:()」的內容,但在這種情況下該行不會出現。我可以看到兩個實例之間唯一的區別在於plist路由是一個包含大約1000個字典對象的數組,行程中包含近92,000個對象。對plists的大小有限制嗎?
在此先感謝。
您是否給系統足夠的時間來處理第二個列表(即在應用程序未完成之前未終止)?你的程序崩潰了,還是隻輸出日誌行?對於巨大的NSMutableArrays,原則上沒有任何錯誤,如果項目很小,甚至92k項目也不應該對iPhone造成壓力。如果項目很大,則可能是內存不足。 –
應用程序不以任何方式退出或終止。在運行之後顯示其他日誌或執行其他操作,而不會出現問題。這似乎需要大約3秒鐘才能完成我認爲是數據檢索的任務,但只需簡單地跳過並繼續。 – Thorlax402
可能很明顯的一些事情:請問應用程序包中是否添加了trips.plist? –