簡體   English   中英

iOS:將plist文件中的字典加載到數組中

[英]iOS: Load dictionaries from plist file to an array

我正在嘗試將以下plist文件加載到NSMutableArray

<?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>Item 0</key>
<dict>
    <key>title</key>
    <string>East Coast</string>
</dict>
<key>Item 1</key>
<dict>
    <key>title</key>
    <string>West Coast</string>
</dict>
<key>Item 2</key>
<dict>
    <key>title</key>
    <string>South Rhodes</string>
</dict>
</dict>
</plist>

我正在使用以下Objective C代碼

- (void)viewDidLoad 
{
    [super viewDidLoad];
    // Load data from the plist file
    NSString *plistPath = [[NSBundle mainBundle] pathForResource:@"Menu" ofType:@"plist"];
    self.menuArray = [NSMutableArray arrayWithContentsOfFile:plistPath];
}

plist的名稱是Menu.plist。

執行代碼后,menuArray為空。

奇怪的是,在Apple的“QuickContacts”示例代碼中使用相同的代碼,一切都在那里完美無缺。

感謝您的時間。

你的plist文件定義了一個字典; 實際上,它的根對象是一個dict

<plist version="1.0">
<dict>

所以要將它加載到某個數據結構中,您可以嘗試使用NSDictionary:

self.menuDictionary = [NSMutableDictionary dictionaryWithContentsOfFile:plistPath];

或者,您可以更改plist以便定義字典。 如果您使用Xcode plist編輯器,這不容易做到,否則您面前會進行一些文本編輯。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM