Objective c 使用控制台应用程序访问plist-Xcode 4
我已经创建了一个plist(File->New File->Resource plist)文件,它有一个为控制台应用程序存储浮点数的字典。我几乎创建了这个plist来存储一些由类方法返回的数字,但是可能会发生变化,所以硬编码并不是一个好主意。然而,当我试图访问plist文件时,我总是得到文件路径的“nil”,我不确定我做错了什么Objective c 使用控制台应用程序访问plist-Xcode 4,objective-c,xcode,plist,console-application,Objective C,Xcode,Plist,Console Application,我已经创建了一个plist(File->New File->Resource plist)文件,它有一个为控制台应用程序存储浮点数的字典。我几乎创建了这个plist来存储一些由类方法返回的数字,但是可能会发生变化,所以硬编码并不是一个好主意。然而,当我试图访问plist文件时,我总是得到文件路径的“nil”,我不确定我做错了什么 <plist version="1.0"> <dict> <key>minFloatNumber</key>
<plist version="1.0">
<dict>
<key>minFloatNumber</key>
<real>520.0</real>
</dict>
</plist>
+ (double) minFloatingPointNunber
{
NSString *path = [[NSBundle mainBundle] pathForResource: @"FloatDictionary"
ofType: @"plist"];
NSDictionary *dict = [[NSDictionary alloc] initWithContentsOfFile: path];
[path release];
double f = [[dict objectForKey: @"minFloatNumber"] doubleValue];
[dict release];
return f;
}
最小浮点数
520
+(双)MinFloatingPointNumber
{
NSString*路径=[[NSBundle mainBundle]路径资源:@“FloatDictionary”
类型:@“plist”];
NSDictionary*dict=[[NSDictionary alloc]initWithContentsOfFile:path];
[路径释放];
双f=[[dict objectForKey:@“minFloatNumber”]doubleValue];
[听写释放];
返回f;
}
我读过很多关于项目“构建阶段”和“复制包资源”的文章,但我在任何地方都看不到。我很确定我的设置一定有问题,但不确定我遗漏了什么,或者我需要采取什么措施来补救这种情况。提前感谢您提供的提示。将设置“Console应用程序”模板以生成单个二进制文件-未包含在适当的捆绑包中,因此您不能使用
NSBundle
API访问文件。如果您想包含一个文件,您可以创建一个实际的应用程序(您可以在其中使用[NSBundle mainBundle]
),或者可以将数据包含在二进制文件中(作为编译时常量或类似的内容).感谢您了解我努力实现的目标的局限性。我也遇到了同样的问题,您的回答帮助了我!非常感谢。