gpt4 book ai didi

ios - 读取/写入 plist,文件结构不正确

转载 作者:行者123 更新时间:2023-11-28 21:53:42 24 4
gpt4 key购买 nike

我正在尝试学习如何将一些简单的模型对象保存/加载到 plist 文件。

模型对象叫做“Person”,有两个字符串属性“Name”“Address”

我已将以下内容添加到 plist 文件中,只是为了测试加载(结构是否正确?):

<plist version="1.0">
<array>
<dict>
<key>Name</key>
<string>name1</string>
<key>Address</key>
<string>address1</string>
</dict>

<dict>
<key>Name</key>
<string>name2</string>
<key>Address</key>
<string>address2</string>
</dict>
</array>
</plist>

我是这样加载的

 -(void)load
{

NSError *error;

NSFileManager *fileManager = [NSFileManager defaultManager];

if (![fileManager fileExistsAtPath: [self plistPath]])

{

NSString *bundle = [[NSBundle mainBundle] pathForResource:@"data" ofType:@"plist"]; //5

[fileManager copyItemAtPath:bundle toPath: [self plistPath] error:&error]; /
}
NSMutableDictionary *savedStock = [[NSMutableDictionary alloc] initWithContentsOfFile: [self plistPath]];

NSLog(@"%lu",(unsigned long)savedStock.count);
}

-(NSString*)plistPath
{
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); //1

NSString *documentsDirectory = [paths objectAtIndex:0];

return [documentsDirectory stringByAppendingPathComponent:@"data.plist"];
}

但是我如何获得封装包含我的实际数据的字典的数组?

最佳答案

你保存的 plist 是一个 NSArray,所以你应该像这样将它取回为 NSArray

NSArray *savedArray = [NSArray arrayWithContentsOfFile:[self  plistPath]];

关于ios - 读取/写入 plist,文件结构不正确,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27342066/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com