SwiftでViewControllerを取得する。

当たり前なのかも知れないが、自分には分からなかったのでメモしておく。

Objective-CのコードをObjC2Swiftで変換し、出来上がったコードが真っ赤だったので、こねくり回しているうちに、それらしいものになったのが以下。

var aViewController : ViewController?

aViewController = NSApplication.shared.window(withWindowNumber: 0)?.contentViewController as? ViewController

だが、こいつは常にnilを返し、ViewControllerを取得できない。以下のようにすると、ちゃんと取得できる。

var aViewController : ViewController?
var aWindows : [NSWindow]?

aWindows = NSApplication.shared.windows
aViewController = aWindows![0].contentViewController as? ViewController

この投稿へのコメント

コメントはありません。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

この投稿へのトラックバック

トラックバックはありません。

トラックバック URL