Objective-C:Plist不加载

时间:2014-01-30 23:10:53

标签: ios objective-c arrays plist

我遇到了一个无法解决的问题:我在plist中有以下数组:

//userSettings.plist
<plist version="1.0">
<array>
    <integer>2</integer>
    <string>4</string>
    <integer>0</integer>
    <integer>1</integer>
</array>
</plist>

我正在尝试加载如下:

    NSString *settingsDataPath = [[self docsDir]stringByAppendingPathComponent:@"userSettings.plist"];
    if (![[NSFileManager defaultManager]fileExistsAtPath:settingsDataPath]) {
        [[NSFileManager defaultManager]copyItemAtPath:[[NSBundle mainBundle] pathForResource:@"userSettings" ofType:@"plist"] toPath:settingsDataPath error:&error];
    }

    BOOL success = [[NSFileManager defaultManager] fileExistsAtPath:settingsDataPath];
    NSLog(@"%hhd", success);

    userSettings = [NSArray arrayWithContentsOfFile:settingsDataPath];
    NSLog(@"%d", [userSettings count]);

成功布尔值返回TRUE,但是当我执行[userSettings count]的NSLog时,我的结果总是0,即我的数组总是空的......

我不知道我还能做什么...

Ty guys !!!

1 个答案:

答案 0 :(得分:1)

我找到了错误的家伙。问题是,当我第一次在界面构建器中创建plist时,创建为Dictionary ...只有在我移动到Array之后。问题是存储在应用程序内部的plist没有更新。当我删除这个plist时,一切都按原样运行!

感谢大家的帮助!

修改前 enter image description here

修改后 After modifications