2014-06-06 52 views
-1
NSString *levelPlist = [[NSBundle mainBundle]pathForResource:[NSString stringWithFormat:@"Level%d", level] ofType:@"plist"]; 
NSDictionary *levelData = [NSDictionary dictionaryWithContentsOfFile:levelPlist]; 

當我加載這樣的plist時,levelPlist只是一個(null)stringWithFormat語法錯誤?This loading plist is wrong?

+0

我們怎麼能知道'Documents'文件夾中文件的當前名稱... oopsy-daisy ...如果文件在您的Documents文件夾中,那不是捆綁包的一部分,所以路徑(或URL)將始終來自'mainBundle'''nil'。 – holex

回答

0

一如以往一樣,在調試時要解決問題,首先獲取文件名,然後加載文件內容。

然後NSLog()文件名並驗證具有該名稱的文件是否直接存在於應用程序包中。通過實際查看應用程序文件來實現這一點。

安全賭注:具有格式化名稱和擴展名的文件不直接存在於應用程序包中。

可能性:

  1. 您要讀取的文件存在於應用程序的文檔目錄。
  2. 文件名不是你的想法。
  3. 有一個案例區別,iOS有一個區分大小寫的文件系統,與OSX不同。
+0

謝謝,我解決了它。問題在於'級別'整數。 'level'的值是01,但編譯器明白它不是01. 所以我的路徑是(null)。 – Penguin

相關問題