Iphone 发送到已释放对象的消息(从未手动释放)
删除了发布声明。其中一些似乎还不错,但这可能只是因为其他东西先爆炸了Iphone 发送到已释放对象的消息(从未手动释放),iphone,objective-c,mpmediaitem,nszombieenabled,Iphone,Objective C,Mpmediaitem,Nszombieenabled,删除了发布声明。其中一些似乎还不错,但这可能只是因为其他东西先爆炸了 在本文中,我提到了与艺术品有关的SQLite错误 **已删除有关NSZombieEnabled调用已发布对象警报的错误和详细信息** 我不觉得自己很愚蠢。这都是内存管理。 我努力不泄漏任何东西,即使是在临时解决方案中,但我做到了…在您提供的代码中,我没有看到任何对retain、alloc/init或某些copy变体的调用。这意味着您不应该在该方法中有任何要释放的调用,这将是导致崩溃的原因。确保你没有用其他方法过度发布,记住
在本文中,我提到了与艺术品有关的SQLite错误 **已删除有关NSZombieEnabled调用已发布对象警报的错误和详细信息**
我不觉得自己很愚蠢。这都是内存管理。
我努力不泄漏任何东西,即使是在临时解决方案中,但我做到了…在您提供的代码中,我没有看到任何对retain、alloc/init或某些copy变体的调用。这意味着您不应该在该方法中有任何要释放的调用,这将是导致崩溃的原因。确保你没有用其他方法过度发布,记住。你发布的是标题和艺术品,但它们不是你的。这将很快或稍后导致尝试释放已解除分配的对象(从项目的解除分配或其他地方)。/[artwork release] //[标题发布]
注释这些,因为它们是自动释放的对象您是否尝试过使用僵尸分析?我通常调用
new
,然后分配一些内容,但这次没有。简单的混乱谢谢
- (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*/
}