如果声明
player为可选变量,则可以将播放器设置
nil为取消分配它。
愚蠢的例子,但它显示了会发生什么:
import UIKitimport AVFoundationclass ViewController: UIViewController { @IBOutlet weak var btnPlay: UIButton! var player:AVPlayer? override func viewDidLoad() { super.viewDidLoad() } @IBAction func btnPress(sender: AnyObject) { if (btnPlay.titleLabel?.text == "Play") { initPlayer() btnPlay.setTitle("Stop", forState: UIControlState.Normal) } else { stopPlayer() btnPlay.setTitle("Play", forState: UIControlState.Normal) } } func initPlayer() { if let play = player { print("playing") play.play() } else { print("player allocated") player = AVPlayer(URL: NSURL(string: "http://streaming.radio.rtl.fr/rtl-1-48-192")!) print("playing") player!.play() } } func stopPlayer() { if let play = player { print("stopped") play.pause() player = nil print("player deallocated") } else { print("player was already deallocated") } }}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)