title: Using Swift with AVPlayer, how do you add and remove a video via code?
body: <p>I'm new to Swift and am trying to add a video to the view and then remove it when my "stopScreenSaver" notification is dispatched. All seems to work well except for when I go to remove the video layer (playerLayer.removeFromSuperlayer()).</p>
  
  <p>Any guidance would be appreciated. I feel like I'm missing some basic concept here for adding and removing the layer!</p>
  
  <pre><code>    import UIKit
      import AVFoundation
      import QuartzCore
      import CoreMedia
  
      class ViewController: UIViewController {
  
          let contentURL = NSBundle.mainBundle().URLForResource("testvideo", withExtension: "mp4")
          var player = AVPlayer()
          var playerLayer = AVPlayerLayer()
          let screenSize : CGRect = UIScreen.mainScreen().bounds
  
          override func viewDidLoad() {
              super.viewDidLoad()
              // Used for starting and stopping the videos related to the screen saver
              NSNotificationCenter.defaultCenter().addObserver(self, selector: "playScreenSaver:", name: "playScreenSaverID", object: nil)
              NSNotificationCenter.defaultCenter().addObserver(self, selector: "stopScreenSaver:", name: "stopScreenSaverID", object: nil)
  }
  
          override func viewDidAppear(animated: Bool) {
              // Player
              player = AVPlayer(URL: contentURL!)
  
              // Layer for display… Video plays at the full size of the iPad
              playerLayer = AVPlayerLayer(player: player)
              var view = UIView(frame: CGRectMake(0, 0, screenSize.width, screenSize.height))
              self.view.layer.addSublayer(playerLayer)
              playerLayer.frame = view.bounds
          }
  
          override func didReceiveMemoryWarning() {
              super.didReceiveMemoryWarning()
          }
  
  
      func playScreenSaver(notification: NSNotification){
              print("play")
              dispatch_async(dispatch_get_main_queue()) {
                 self.view.layer.addSublayer(self.playerLayer!)
                 self.player!.play()
              }
      }
  
      func stopScreenSaver(notification: NSNotification){
              print("pause")
              dispatch_async(dispatch_get_main_queue()) {
                 self.player!.pause()
                 self.playerLayer!.removeFromSuperlayer()
              }
      }
  
  }
  </code></pre>