0
ストーリーボード(NSまたはUI)を使用してViewControllerを初期化するときは、ストーリーボードへの参照を保持する必要がありますか、それを無視して終了することはできますか?ストーリーボードの初期化と除外
class ViewController: NSViewController {
var secondarySB: NSStoryboard? = nil
@IBAction
func loadAndKeep(_ sender: NSButton) {
//keeping a reference
secondarySB = NSStoryboard.init(name: NSStoryboard.Name.init(rawValue: "Secondary"), bundle: nil)
let vc = secondarySB?.instantiateInitialController() as! Secondary
self.view.addSubview(vc.view)
}
@IBAction
func load(_ sender: NSButton) {
//ignoring the storyboard after I get the viewcontroller
let sb = NSStoryboard.init(name: NSStoryboard.Name.init(rawValue: "Secondary"), bundle: nil)
let vc = sb.instantiateInitialController() as! Secondary
self.view.addSubview(vc.view)
}
}
"as"を使用して強制的にキャストしていることに気付きました。これはお勧めではありません代わりに使用する代わりに "として?"何か問題が生じた場合は「vc?.view」を入力してください。 SwiftLintという素晴らしいツールがあります。SwiftLintはそのようなものを捕らえ、ビルドの警告を生成するのに適しています。 – ekscrypto
ストーリーボードの参照を保持する必要はありません –