【发布时间】:2015-07-18 14:20:57
【问题描述】:
我有AVAudioPlayer 实例:
var audioPlayer: AVAudioPlayer!
self!.audioPlayer = AVAudioPlayer(data: fileData, error: &error)
self!.audioPlayer?.numberOfLoops = -1
self!.audioPlayer?.delegate = self
if (self?.audioPlayer?.prepareToPlay() != false) {
println("Successfully prepared for playing")
} else {
println("Failed to prepare for playing")
}
我需要为此 AVAudioPlayer 禁用 ARC。 Unmanaged 没有很好的文档记录,所以很难做到这一点。这是我尝试过的:
var audioPlayer: Unmanaged<AVAudioPlayer>!
//Stuck after creating nil instance, what to do now?
self!.audioPlayer = AVAudioPlayer(data: fileData, error: &error)
self!.audioPlayer?.numberOfLoops = -1
self!.audioPlayer?.delegate = self
if (self?.audioPlayer?.prepareToPlay() != false) {
println("Successfully prepared for playing")
} else {
println("Failed to prepare for playing")
}
【问题讨论】:
-
“创建 nil 实例” -
var audioPlayer: Unmanaged<AVAudioPlayer>!- 空 AVAudioPlayer -
了解为什么您要“禁用 ARC”会很有趣。这可能是XY problem 吗?
-
var audioPlayer: Unmanaged<AVAudioPlayer>!声明了一个变量,它不创建任何东西。 -
这就是我需要禁用 ARC 的原因
标签: ios swift automatic-ref-counting