【问题标题】:problems with the plist output valuesplist 输出值的问题
【发布时间】:2011-08-24 04:45:46
【问题描述】:

这是我第一次使用 plist 作为为我的应用程序存储少量数据的方式。我现在的问题是我的应用程序给出了EXC_BAD_ACCESS 错误。在我阅读 plist 的方法中,它给了我summary unavailable。但是 NSMutableDictionary 给了我 2 个密钥/配对,我的 plist 只有 2 个值,只是为了学习如何使用 plist(现在)。我有一种感觉,由于这个 Summary Unavailable, I got theEXC_BAD_ACCESS` 错误?

-(void)readFile{
    NSError *error;
    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); //1
    NSString *documentsDirectory = [paths objectAtIndex:0]; //2
    NSString *path = [documentsDirectory stringByAppendingPathComponent:@"EventAddress.plist"]; //3

    NSFileManager *fileManager = [NSFileManager defaultManager];

    if (![fileManager fileExistsAtPath: path]) //4
    {
        NSString *bundle = [[NSBundle mainBundle] pathForResource:@"EventAddress" ofType:@"plist"]; // 5

        [fileManager copyItemAtPath:bundle toPath: path error:&error]; //6
    }

    NSMutableDictionary *savedStock = [[NSMutableDictionary alloc] initWithContentsOfFile: path];

    //load from savedStock both addr and event are NSString
    addr = [savedStock objectForKey:@"Address"];
    event = [savedStock objectForKey:@"Event"];

    [savedStock release];
}

任何帮助将不胜感激。

更新 1

Where the error occurred was at the - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
    ...
    ...
    // EXC_BAD_ACCESS happened at this line
    [[cell textLabel] setText:addr];
}

但是当@Jeff 告诉我保留地址和事件时,问题就解决了。现在我的新 EXC_BAD_ACCESS 来自 main.m 文件: int retVal = UIApplicationMain(argc, argv, nil, nil);

现在可能出了什么问题?

更新 2 这是我学习如何使用 plist 的网站。 plist tutorial

【问题讨论】:

  • 哪一行得到了 EXC_BAD_ACCESS?
  • 对不起,没有正确写出问题。 addr 和 event 都假设显示在UITableViewCell [[cell textLabel] setText:addr]; 我会尝试@Jeff 的回复,然后更新这个问题。感谢您的快速回复!

标签: objective-c ios4 plist


【解决方案1】:

在此之后您是否使用addrevent 的值?它们没有被保留,所以当savedStock 被释放时,它们也会被释放。如果这些是实例变量,请在将它们从字典中拉出时保留它们。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-08-30
    • 2016-12-23
    • 1970-01-01
    • 1970-01-01
    • 2014-03-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多