我应该在Swift中将对象设置为nill

时间:2015-08-03 09:00:10

标签: ios iphone swift avaudioplayer

我在读某人的代码。在用户单击按钮以停止播放音频后,他将AVAudioPlayer设置为nil。我想知道在我们不再需要它之后我们应该将对象设置为nil吗?或者我们是否应该在尝试停止播放音频后将AVAudioPlayer设置为nil?

2 个答案:

答案 0 :(得分:3)

通常,这不是必需的,但也有例外。当你有一个局部变量时,你几乎不需要将它设置为nil,因为当它超出范围时,它将被销毁。

如果在实例范围(属性)上有变量,则更难,因为您经常希望在实例仍在使用时释放内存(例如,控制器中的属性)。在这种情况下,设置为nil是完全正确的,因为您无法从内存中删除对象。

它是一个AVAudioPlayer实例的事实不应该是相关的,尽管玩家通常需要大量的内存,所以最好注意它的实例。

答案 1 :(得分:0)

如果你有一个强大的成员变量,你可以通过在不再需要时将它们设置为nil来故意处理对象,从而早些时候释放大量资源。好处取决于相关对象的具体类型。