gpt4 book ai didi

iphone - 使用 [[NSBundle mainBundle] pathForResource 获取 .plist 路径时出现问题

转载 作者:太空狗 更新时间:2023-10-30 03:57:07 37 4
gpt4 key购买 nike

我是一个 Objective C 菜鸟,我对以下问题的了解还不够多。

此代码有效:

NSString *plistPath = @"/Users/andrewf/MyApp/Resources/Plates.plist";
dicPlates = [[NSDictionary alloc] initWithContentsOfFile:plistPath];

我的字典对象加载了预期的值。

此代码无效:

NSString *plistPath = [[NSBundle mainBundle] pathForResource:@"Plates" ofType:@"plist"];
dicPlates = [[NSDictionary alloc] initWithContentsOfFile:plistPath];

plistPath 返回值为 nil。无论我是否在调用中包含 inDirectory:@"Resources"都是这种情况。我发现的所有示例在尝试打开 Resources 目录中的 .plist 文件时都不包含 inDirectory。

我已确认该文件存在于正确的位置,甚至重新创建它以确保安全。

这看起来是一个很简单的问题,但我很困惑。请协助。

最佳答案

我认为您对 pathForResource: 的查找位置感到困惑。

这个有效:

NSString *plistPath = @"/Users/andrewf/MyApp/Resources/Plates.plist";

请注意,此路径不指向您的应用程序。它指向您的项目目录。您的 plist 应该位于 @/Users/andrewf/MyApp/build/Release/MyApp.app/Resources/Plist.plist"(对于 iPhone 应用程序,这会有所不同,更像是 @"/Users/andrewf/Library/Application Support/iPhone Simulator/User/Applicatons/(unique id)/MyApp.app/Resources/Plates.plist"),它位于 Resources 文件夹内 pathForResource: 正在查找的>您的应用

这意味着您的资源不在构建目标的“复制捆绑资源”阶段。您需要将它从“组和文件”区域拖到该阶段内。

关于iphone - 使用 [[NSBundle mainBundle] pathForResource 获取 .plist 路径时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1749785/

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