Swift(Xcode 9.01)で各種環境設定をファイル保存する Mac アプリケーションを作っています。
ウィンドウの位置や最前面に表示するか、配色などのコンフィグを保存しておいて、次回起動時に同じ状態で起動できるようにするのが目的です。
Swift プログラミング自体不慣れでクラスのもたせ方がよくわからないため、どのように設計したらいいのか見当がついていません。
ひとまず Config クラスを作り、メソッド save() で設定ファイルの保存、load() で設定ファイル(XML)の読み込みができるようにしました。読み書きする情報はすべて Config のプロパティとして保持しています。(Config.windowX, Config.topmost など)
使うにはインスタンス化しなければなりませんがまずどこにそれを書いてよいのかわかりません。とりあえず AppDelegate.swift のプロパティに持たせ、 override init() 時にインスタンス化することにしました。
swift
1class AppDelegate: NSObject, NSApplicationDelegate { 2 var config:Config? 3 4 override init(){ 5 super.init() 6 self.config = Config() 7 self.config.load() 8 } 9}
NSViewController などからこのデータにアクセスしたいのですが AppDelegate クラスにアクセスする手段を知りません。根本から間違っているのかもしれません。
設定情報を管理するクラスを作る場合どこでインスタンス化し、どのようにアクセスすればいいのでしょうか?
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/10/26 07:36
2017/10/26 08:04
2017/10/26 08:08