Tag: Cocoa/Storyboardなしで開発
関連ページ†
参考情報†
Xcode 8.2のStoryboardなしプロジェクトの構造†
- Xcode 8.2まではStoryboardなしのプロジェクトを開発することができた。しかしXcode 8.3からは不可能。
- プロジェクトには以下のファイルが含まれる。
- AppDelegate.swift
- MainMenu.xib
- info.plist
- MainMenu.xibの内部
- Placeholders
- File's Owner: delegateがDelegateオブジェクトに接続。
- First Responder
- Application
- Objects
- Delegate
- Font Manager
- Main Menu
- Window
Xcode 8.3で始めたStoryboardプロジェクトをStoryboardなしに変換†
xcode8 - Xcode 8.3 macOS Project without storyboard - Stack Overflowに方法が説明されている。
- 1.Cocoaアプリケーションテンプレートを使用してmac os x アプリを作成する(ストーリーボードベース)。
- 2.ストーリーボードのxibファイルとViewControllerファイルをプロジェクトから削除。
- 3.プロジェクトのinfoエリアで(プロジェクトをクリックしてinfoタブを表示)、NSMainStoryBoardのエントリーを削除する。
- 4.プロジェクトにMainMenuファイルタイプのファイルを追加する。
- 5.MainMenu.xibという名前で追加。
- 6.プロジェクトのinfoエリアに戻り、"Main NIB file base name"キーを追加する。どのエントリーでもいいのでプラスアイコンをクリックし、リストボックスから選ぶ。名前を"MainMenu"とする。
- 7.プロジェクトを実行。必要な場合MainMenu.xibにウィンドウなどさらなるパーツを追加していく(そのままだとメニューしか表示されない)。
AppDelegateの動作をカスタマイズしたい場合、MainMenu.xibにObjectを追加し、そのクラスをAppDelegateに変更する。そしてReferencing Outletをオブジェクトに追加し、File Owner Delegate outletに接続する。
結局Xcode 8.2+xibのプロジェクト構造と同じに設定していることがわかる。