函数中的SceneKit对象不会出现在Simulator中

时间:2015-07-27 11:58:59

标签: ios xcode swift scenekit

您好我试图在Xcode上运行两个示例。第一个是苹果的demobots示例,另一个是我在GitHub上找到的硬币推送示例。两次我得到相同的单个错误,'方法不会覆盖其超类中的任何方法'而我仍然坚持纠正这些问题的最佳方法。

这些是相应的代码行

1

    override func supportedInterfaceOrientations() -> Int {

    if UIDevice.currentDevice().userInterfaceIdiom == .Phone {

        return Int(UIInterfaceOrientationMask.AllButUpsideDown.rawValue)
    }

    else {

        return Int(UIInterfaceOrientationMask.All.rawValue)
         }
    }

2

 override func observeValueForKeyPath(keyPath: String?, ofObject object: AnyObject?, change: [String: AnyObject]?, context: UnsafeMutablePointer<Void>) {

    // Check if this is the KVO notification we need.

    if context == &progressSceneKVOContext && keyPath == "fractionCompleted" && object === progress {

        // Update the progress UI on the main queue.

        dispatch_async(dispatch_get_main_queue()) {

            guard let progress = self.progress else { return }

            // Update the progress bar to match the amount of progress completed.
            self.progressBarNode.size.width = self.progressBarInitialWidth * CGFloat(progress.fractionCompleted)

            // Display a contextually specific progress description.
            self.loadingLabelNode.text = progress.localizedDescription
        }
    }

    else {

        super.observeValueForKeyPath(keyPath, ofObject: object, change: change, context: context)
    }
}

1 个答案:

答案 0 :(得分:0)

在案例(1)中,基类UIViewController的方法supportedInterfaceOrientations包含签名() -> UIInterfaceOrientationMask而非() -> Int。这是错误消息告诉您的内容,也就是说,您提供实现的方法不会覆盖基类中的任何方法,而是仅在子类中可用的新方法。

我认为案例(2)是一个类似的故事。