【问题标题】:How to grab property list file created in Xcode?如何获取在 Xcode 中创建的属性列表文件?
【发布时间】:2010-11-25 12:07:48
【问题描述】:

我很难弄清楚如何获取使用 Xcode 创建的属性列表文件。我使用带有NSString 成员的数组创建了一个属性列表文件。我想获取该文件并获取所有NSString 成员并将其保存到UITextField。但我的问题是我看不到那个文件。不知道是不是找错了路径,还是不知道属性文件保存在哪里。

【问题讨论】:

    标签: iphone xcode properties


    【解决方案1】:

    如果文件是通过 Xcode 添加的,则该文件很可能在您的包中。要打开它,请使用:

    NSDictionary *plist = [NSDictionary arrayWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"NameOfFile" ofType:@"plist"]];
    

    在模拟器中运行它,然后在 Finder 中的 Library/Application Support/iPhone Simulator/Applications/... 中查看是否可以找到该文件,将其打开并仔细检查以确保添加了 Xcode文件。

    在您的 Documents 文件夹中制作副本:

    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
    NSString *documentsDirectory = [paths objectAtIndex:0];
    NSString *path = [documentsDirectory stringByAppendingPathComponent:@"My.plist"];
    if (![plist writeToFile:path atomically:YES])
        NSLog(@"not successful in writing the high scores");
    

    【讨论】:

    • 非常感谢。但是如何将我的 plist 文件保存到 Documents 文件夹?
    • 成功读入后,您可以立即使用 writeToFile 将其写回,并为其指定 Documents 文件夹的路径。知道该怎么做吗?
    • 我明白了。谢谢。所以我想我需要获取我的 Documents 文件夹路径,然后使用 writeToFile 方法。但是当我在文档中成功创建第二个 plist 时,我正在创建两个具有相同数据的 plist?还是应该从应用程序包中删除 plist?
    • 捆绑包中的 plist 只能从 iPhone 读取,因此 a) 您无法删除它,b) 您无法保存对它的任何更改。因此,是的,您拥有 2 份副本是标准的 - 一份原件,未改动,一份记录用户使用应用程序时发生的变化。
    • 哦,我明白了。多谢。所以我认为拥有两个文件副本效率不高。有什么方法可以将 plist 文件显式保存在 Document 文件夹中?
    猜你喜欢
    • 1970-01-01
    • 2015-07-15
    • 2020-01-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-02-29
    相关资源
    最近更新 更多