gpt4 book ai didi

iphone - 从文档目录读取 plist 文件时为空

转载 作者:行者123 更新时间:2023-11-29 10:53:39 25 4
gpt4 key购买 nike

在我的应用程序中,我将一些信息存储在 plist 文件中。我用这段代码生成了这个 plist:

- (void)saveArrayToFile {
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *fileName = [documentsDirectory stringByAppendingPathComponent:@"objects.plist"];
[self.reportArray writeToFile:fileName atomically:YES];
}

通过应用程序 iExplorer,我查看了我创建的应用程序以找到我创建的文件,现在我需要读回我的文件。我在网上找到了几个允许我读取这个 plist 文件的解决方案,所以我尝试了这个解决方案:

- (void)loadObjectFromFile {
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentationDirectory, NSUserDomainMask, YES);
NSString *documentsDir = [paths objectAtIndex:0];
NSString *path = [documentsDir stringByAppendingString:@"objects.plist"];
NSArray *temp = [NSArray arrayWithContentsOfFile:path];
NSLog(@"%@", temp);
}

但是如果我在 Xcode 中查看控制台,我看不到我的 plist 文件内容的日志,我确实得到了这个:

2013-10-17 10:29:34.586 MyApp[233:60b] (null)

我把我的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">
<array>
<dict>
<key>desc</key>
<string>Lorem ipsum dolor sit er elit lamet, consectetaur cillium adipisicing pecu, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Nam liber te conscient to factor tum poen legum odioque civiuda.</string>
<key>name</key>
<string>Dadi rossi</string>
<key>price</key>
<string>5 €</string>
</dict>
</array>
</plist>

我的解决方案有什么问题?为什么我无法读取我的 plist 文件的内容?谢谢!

最佳答案

你的错误在第一行阅读

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentationDirectory, NSUserDomainMask, YES);

当您将数据存储在 NSDocumentDirectory 中时,您正在从 NSDocumentationDirectory 中读取数据。只需将其替换为以下行即可。

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);

这里的第二个错误是附加字符串而不是 PathComponent 替换

NSString *path = [documentsDir stringByAppendingString:@"objects.plist"];

NSString *fileName = [documentsDirectory stringByAppendingPathComponent:@"objects.plist"];

关于iphone - 从文档目录读取 plist 文件时为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19421854/

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