2013-07-29 169 views
0

我想在Plist中存儲一些字符串,然後隨機選擇一個並將其顯示在標籤上。由於某種原因,Xcode無法找到或加載Plist。代碼「NSLog(@」字典:%@,數組:%@「,plistDict,plistArray);」Xcode plist not loading

返回 「2013年7月29日11:38:22.216隨機[1434:60B]字典:(空),陣列:(空)」

所以我只能假設這意味着的.plist文件是無效,或Xcode由於某種原因無法讀取它。這裏是我的按鈕.M代碼:

NSString *path = [[NSBundle mainBundle] pathForResource: 
        @"jokes" ofType:@"plist"]; 

NSDictionary *plistDict = [[NSDictionary alloc] initWithContentsOfFile:path]; 
NSMutableArray *plistArray = plistDict[@"list"]; 

int randV = arc4random() % plistArray.count; 

jokeLabel.text = plistArray[randV]; 

NSLog(@"dictionary: %@, array: %@", plistDict, plistArray); 

而且,這裏是我的plist文件看起來像:

<?xml version="1.0" encoding="UTF-8"?> 
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> 
<plist version="1.0"> 
<dict> 
    <key>list</key> 
    <array> 
     <string>Some Text Here</string> 
     <string>Other Text Here</string> 
    </array> 
</dict> 
</plist> 

什麼會我需要做的,使這項工作正常?謝謝!

+2

確保文件已添加到目標。記錄您從捆綁中獲得的路徑。 – Wain

回答

0

NSString *路徑的價值是什麼?如果那是空的,那麼其他一切都將是。 您的文件名將區分大小寫,因此請檢查plist是否被稱爲「jokes.plist」

0

您的代碼絕對沒問題。檢查添加到項目中的plist文件是否具有正確的名稱。