Сообщение отправлено освобожденному объекту (никогда не выпускается вручную)

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


- (void)handleNowPlayingItemChanged:(id)notification {
    MPMediaItem *item = self.musicPlayer.nowPlayingItem;
    NSString *title = [item valueForProperty:MPMediaItemPropertyTitle];

    NSNumber *duration = [item
                         valueForProperty:MPMediaItemPropertyPlaybackDuration];
    float totalTime = [duration floatValue];
    progressSlider.maximumValue = totalTime;

    CGSize artworkImageViewSize = self.albumCover.bounds.size;
    MPMediaItemArtwork *artwork = [item valueForProperty:
                                                   MPMediaItemPropertyArtwork];
    if (artwork) {
        self.albumCover.image = [artwork imageWithSize:artworkImageViewSize];
    } else {
        self.albumCover.image = nil;
    }

    titleLabel.text = title;

    /*OpenEars stuff*/
}

В другом вопросе я упоминаю ошибки SQLite, касающиеся художественных работ.

** Удалена ошибка и детали, касающиеся NSZombieEnabled оповещения о вызове освобожденным объектам. **


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

3 ответа

Решение

В коде, который вы предоставляете, я не вижу никаких вызовов retain, alloc / init или какой-либо другой копии. Это означает, что у вас не должно быть никаких вызовов для освобождения в этом методе, и это будет причиной вашего сбоя. Убедитесь, что вы не слишком много выпускаете другими методами и помните основы управления памятью.

// [выпуск художественного произведения];

// [title release];

прокомментируйте те, так как они являются автоматически выпущенным объектом

Вы выпускаете название и произведение искусства, но они не ваши. Рано или поздно это приведет к предварительному освобождению уже освобожденного объекта (из освобождения объекта или где-то еще).

Другие вопросы по тегам