EXC_BAD_ACCESS при использовании awakeAfterUsingCoder с ARC - PullRequest
1 голос
/ 25 февраля 2012

Недавно я изменил немного кода, используя Archiver, чтобы заменить декодируемый объект другим, если объект находился в общем списке. Мое приложение использует ARC.

- (id)awakeAfterUsingCoder:(NSCoder*)decoder {
    Player* player = [[Team getCurrentTeam] getPlayerWithId: self.id];
    // If the player is in the current team then use that instance instead of this one.
    if (player !=  nil) {
        return player;
    } else {
        return self;
    }
}

Код работал отлично, пока я не добавил awakeAfterUsingCoder. Теперь я получаю malloc: ошибка для объекта 0x7567430: освобожденный указатель не выделен . Может показаться, что заменяемый объект освобождается, но он так и не был сохранен? Поскольку я использую ARC, я не уверен, что я мог бы сделать, чтобы решить эту проблему.

...