проблемы с выходными значениями plist - PullRequest
0 голосов
/ 24 августа 2011

Я впервые использую plist как способ хранения небольших данных для моего приложения. Моя проблема сейчас в том, что мое приложение выдает ошибку EXC_BAD_ACCESS. В моем методе, чтобы прочитать список, это дало мне summary unavailable. Но NSMutableDictionary дал мне 2 ключа / пары, которые у моего plist были только 2 значения, просто чтобы узнать, как использовать plist (на данный момент). У меня есть чувство, из-за этой сводки недоступно , I got the EXC_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. учебник по списку

1 Ответ

1 голос
/ 24 августа 2011

Используете ли вы значения addr и event после этого?Они не сохраняются, поэтому при выделении savedStock они тоже будут.Если это переменные экземпляра, сохраните их при извлечении из словаря.

...