iPad没有读我的plists

时间:2011-06-08 10:05:03

标签: xcode ios ipad plist

当我将plists-file添加到我的XCode项目时,我的iPad应用程序似乎无法读取它。

例如:我的项目文件夹(xproj文件所在的文件夹)中有massCategories.plist。我的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>Item 1</key>
    <dict>
        <key>Key 1</key>
        <string>Value 1</string>
        <key>Key 2</key>
        <string>Value 2</string>
    </dict>
    <key>Item 2</key>
    <dict>
        <key>Key 3</key>
        <string>Value 3</string>
        <key>Key 4</key>
        <string>Value 4</string>
    </dict>
</dict>
</plist>

在我的ViewController中,我有以下方法:

- (void)viewDidLoad
{
    [super viewDidLoad];
    NSBundle *mainBundle = [NSBundle mainBundle];
    NSString *plistData = [mainBundle pathForResource:@"MassCategories" ofType:@"plist"];
    NSArray *massCategories = [[NSArray alloc] initWithContentsOfFile:plistData];
    // breakpoint
}

当运行(并在断点处“暂停”)时,massCategories包含nil。 将plist文件添加到另一个文件夹似乎不起作用(或者我必须使用错误的文件夹,这很可能: - ))。

有什么建议吗?

2 个答案:

答案 0 :(得分:1)

确保您的命名正确。您说该文件名为'massCategories.plist',但您尝试加载@“MassCategories”。 iOS区分大小写。

答案 1 :(得分:0)

知道了!

只需更新plist,使得main元素是一个数组(正如我在尝试将其作为数组导入时所期望的那样):

<?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">
<array>
...
</array>
</plist>