質問
現在、ビューワーアプリを製作中です。
メインのViewControllerクラスで定義した変数を色々なクラスで参照したいため、ViewControllerをグローバルで定義したいと思っています。
グローバルで定義しても問題ありませんでしょうか。
サンプルアプリを見ていると大抵AppDelegateクラス内で定義されています。
グローバルで定義して試してみたところ動作的には問題なさそうですが、今後致命的な問題が出ないか心配です。
また、その他に良い方法がありましたら教えていただきたいです。
初歩的な質問で申し訳ありませんが、ご教示のほどお願い申し上げます。
該当のソースコード
swift5
1 2///********グローバルで定義 3var g_Vc : ViewController! // 共用ビューコントローラー 4 5 6///******** ViewController 7class ViewController: UIViewController{ 8 9 var appDelegate:AppDelegate = UIApplication.shared.delegate as! AppDelegate 10 11 override func viewDidLoad() { 12 super.viewDidLoad() 13 } 14} 15 16 17///******** AppDelegate 18@UIApplicationMain 19class AppDelegate: UIResponder, UIApplicationDelegate{ 20 21 var window: UIWindow? 22 var NaviController: NavigationController? 23 24 // アプリを起動する際に呼び出されるメソッド 25 func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool { 26 27 // ウィンドウの設定 28 g_Vc = ViewController() 29 NaviController = NavigationController(rootViewController: g_App.m_Vc) 30 self.window = UIWindow(frame: UIScreen.main.bounds) 31 self.window?.rootViewController = NaviController 32 self.window?.backgroundColor = UIColor.white 33 self.window?.makeKeyAndVisible() 34 35 return true 36 } 37} 38
補足情報
Xcode:Version 10.2
Swift5
iOS12.2
回答1件
あなたの回答
tips
プレビュー