class MyClass: UIViewController {
var playerViewController = AVPlayerViewController()
var playerView = AVPlayer()
var playerTimer = NSTimer()
override func viewDidAppear(animated:Bool) {
super.viewDidAppear(true)
presentViewController(GameViewController1(), animated: false, completion: nil)
let fileURL = NSURL(fileURLWithPath: "SomeFile.mp4")
playerView = AVPlayer(URL: fileURL)
playerViewController.player = playerView
self.presentViewController(playerViewController, animated: false){
self.playerViewController.showsPlaybackControls = false
self.playerViewController.player?.play()
self.playerTimer = NSTimer.scheduledTimerWithTimeInterval(4.2, target: self, selector:Selector("stopAfter4seconds:"), userInfo: nil, repeats: false)
}
}
func stopAfter4seconds(timer: NSTimer){
playerViewController.player = nil
playerViewController.removeFromParentViewController()
playerTimer.invalidate()
playerViewController.presentViewController(GameViewController1(), animated: false, completion: nil)
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
}
}SKView! найдено ноль при представлении
После того как я играть видео на «MyClass» (класс выше)
Я тогда удалить представление и представить свою GameContollerView1, который имеет GameScene.
(класс ниже)
class GameViewController1: UIViewController, ADBannerViewDelegate {
@IBOutlet var skView: SKView!
override func viewDidLoad() {
super.viewDidLoad()
if skView.scene == nil {
let scene = GameScene(size: skView.bounds.size)
skView.presentScene(scene)
}
}
override func shouldAutorotate() -> Bool {
return true
}
override func supportedInterfaceOrientations() -> UIInterfaceOrientationMask {
if UIDevice.currentDevice().userInterfaceIdiom == .Phone {
return UIInterfaceOrientationMask.AllButUpsideDown
} else {
return UIInterfaceOrientationMask.All
}
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
}
override func prefersStatusBarHidden() -> Bool {
return true
}
}
Моя Initial Проблема в том, что, когда я представляю класс 'GameViewController1' Я получаю ошибку:
fatal error: unexpectedly found nil while unwrapping an Optional value
(lldb)
на этой линии:
if skView.scene == nil {
Так что это говорит мне, что мой SKView! это nil, что, как вы можете видеть по моему if, является тем, что я искал в любом случае.
Самая странная часть этого вопроса заключается в том, что, когда я пропускаю «MyClass» и сначала указываю точку входа в StoryBoard на GameViewContoller1, весь код воспроизводится правильно.
Связано ли с этим AVPlayer()? Логически мой код должен работать, но по какой-то неизвестной причине .. это не так. любая помощь будет чрезвычайно оценена.
Может попробовать добавить 'уаг сцены: GameScene' 'под @IBOutlet! '... –
Стоит сделать снимок, но, к сожалению, он возвратил сцену как ноль – Bliitzkr3ig
Как насчет [этого] (https://gist.github.com/anonymous/d6632c344e1277952bdf), тот же результат? ... –