如何删除我在玩AVplayer Swift时添加的图层

如何删除我在玩AVplayer Swift时添加的图层,swift,avplayer,Swift,Avplayer,我有一个应用程序,每次都会多次重新进入相同的视图,为mp4视频创建一个层,这会造成内存爬行,因为层没有被删除,或者至少我猜是这样。如何删除添加的图层 override func viewWillAppear(animated: Bool) { let videoURL: NSURL = NSBundle.mainBundle().URLForResource("info2", withExtension: "mp4")! mygtukas = AVPlayer

我有一个应用程序,每次都会多次重新进入相同的视图,为mp4视频创建一个层,这会造成内存爬行,因为层没有被删除,或者至少我猜是这样。如何删除添加的图层

override func viewWillAppear(animated: Bool) {



     let videoURL: NSURL = NSBundle.mainBundle().URLForResource("info2", withExtension: "mp4")!


        mygtukas = AVPlayer(URL: videoURL)
        mygtukas?.actionAtItemEnd = .None
        mygtukas?.muted = true



        let playerLayer = AVPlayerLayer(player: mygtukas)
        playerLayer.videoGravity = AVLayerVideoGravityResizeAspectFill
        playerLayer.zPosition = 1
        playerLayer.frame = CGRect(x:20.0, y: 703.0, width: 36.0, height: 36.0)


        view.layer.addSublayer(playerLayer)

        mygtukas?.play()

        NSNotificationCenter.defaultCenter().addObserver(self,
            selector: "loopVideo",
            name: AVPlayerItemDidPlayToEndTimeNotification,
            object:nil)




}
这应该起作用:

将playerLayer设置为类实例并尝试以下操作。 调用内部循环视频方法:

playerLayer.removeFromSuperlayer()


在我的Denit函数中添加了你的代码行,但功能仍然在增加,好像层正在被删除,但在我离开视图后仍然没有释放内存。层正在被删除,但内存仍然在增长,可能是这样吗?请共享使用playerLayer.removeFromSuperlayer()的代码块。这将帮助我更好地理解你的问题。