SIGABRT при доступе к NSDictionary - PullRequest
0 голосов
/ 06 июля 2011

У меня есть метод, который вызывается каждый раз, когда местоположение устройства обновляется с включенными ниже утверждениями:

Просто любопытно, почему я получаю сигнал SIGABRT от этого PrevSpeedDic здесь:

if (DriveInfoDic != nil) {
    PrevSpeedDic = [DriveInfoDic objectForKey: @"speed"];
} else {
    DriveInfoDic = [[NSDictionary alloc] init];
}

Но когда я перемещаю это выше утверждения выше, оно работает нормально, как и должно.Мои переменные определены правильно, иначе это не сработает ни при каких обстоятельствах.

  DriveInfoDic = [NSDictionary dictionaryWithObjectsAndKeys:
  [NSNumber numberWithDouble:speedMPH], @"speed", nil];

1 Ответ

3 голосов
/ 06 июля 2011

Локальные переменные не инициализируются в 0 (ноль) по умолчанию.Если вы не установили DriveInfoDic до этого if, он возьмет первую ветку и завершится сбоем.

...