Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xcode/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c 使用控制台应用程序访问plist-Xcode 4_Objective C_Xcode_Plist_Console Application - Fatal编程技术网

Objective c 使用控制台应用程序访问plist-Xcode 4

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(File->New File->Resource plist)文件,它有一个为控制台应用程序存储浮点数的字典。我几乎创建了这个plist来存储一些由类方法返回的数字,但是可能会发生变化,所以硬编码并不是一个好主意。然而,当我试图访问plist文件时,我总是得到文件路径的“nil”,我不确定我做错了什么

<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]
),或者可以将数据包含在二进制文件中(作为编译时常量或类似的内容).

感谢您了解我努力实现的目标的局限性。我也遇到了同样的问题,您的回答帮助了我!非常感谢。