前提・実現したいこと
selectorを使っているのですが相手が`objcになっている為、警告エラーが表示されます。
その為かわからないのですが以降の処理が上手くいってないような気がするので
警告エラーをなくしたいのですが記述がわかりません。
教えていただけないでしょうか?
swift4を使っています。
'''
import UIKit
import SpriteKit
class GameViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
// Configure the view. let skView = self.view as! SKView skView.showsFPS = true skView.showsNodeCount = true /* Sprite Kit applies additional optimizations to improve rendering performance */ skView.ignoresSiblingOrder = true // Create and configure the scene. let scene = GameScene(size: skView.frame.size) skView.presentScene(scene) // Pause the view (and thus the game) when the app is interrupted or backgrounded NotificationCenter.default.addObserver(self, selector: #selector(GameViewController.handleApplicationWillResignActive(_:)), name: NSNotification.Name.UIApplicationWillResignActive, object: nil) NotificationCenter.default.addObserver(self, selector: #selector(GameViewController.handleApplicationDidBecomeActive(_:)), name: NSNotification.Name.UIApplicationDidBecomeActive, object: nil)
}
override var prefersStatusBarHidden: Bool {
return true
}
override var shouldAutorotate: Bool {
return true
}
override var supportedInterfaceOrientations: UIInterfaceOrientationMask {
return UIInterfaceOrientationMask.portrait
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Release any cached data, images, etc that aren't in use.
}
@objc func handleApplicationWillResignActive (_ note: Notification) {
let skView = self.view as! SKView
skView.isPaused = true
}
@objc func handleApplicationDidBecomeActive (_ note: Notification) {
let skView = self.view as! SKView
skView.isPaused = false
}
}
'''
警告エラー
The use of Swift 3 @objc inference in Swift 4 mode is deprecated. Please address deprecated @objc inference warnings, test your code with “Use of deprecated Swift 3 @objc inference” logging enabled, and then disable inference by changing the "Swift 3 @objc Inference" build setting to "Default" for the "SKtest" target.
@objcはswift4では警告になるのはわかっているのですが、その為には記述を変えるしかなくその方法がわからないのです。
'Swift 4で@objcに関するwarningが出たときの対処' というnetも見ていたのですが、
ベストな方法としては@objc を書き換える方法がベストだと思っていました。
質問の丸投げだと言われればどうしようもないですが ...
上記警告文では
build setting to "Default" for the "SKtest" target.
"Default"にしろとあるようなのですが、現在"Default"になっています。
On Swift3での@objc推論を有効にする(非推奨)...onにするのは非推奨となっているようです。
@objcはswift4では使えないと思っていました。
勘違いですか。
私のpcでは警告文に
build setting to "Default" for the "SKtest" target.
"Default"にしろとあるようなのですが、現在"Default"になっていて変えようが
ありません。
回答2件
あなたの回答
tips
プレビュー