回答編集履歴

2

さらに追記

2017/10/26 08:22

投稿

MasakiHori
MasakiHori

スコア3384

test CHANGED
@@ -44,6 +44,34 @@
44
44
 
45
45
 
46
46
 
47
+ (さらに追記)
48
+
49
+ Swiftらしい代案を思いつきましたので追記しておきます。
50
+
51
+ ```swift
52
+
53
+ class AppDelegate: NSObject, NSApplicationDelegate {
54
+
55
+ lazy var config: Config = {
56
+
57
+ let config = Config()
58
+
59
+ config.load()
60
+
61
+ return config
62
+
63
+ }()
64
+
65
+
66
+
67
+ ....
68
+
69
+ }
70
+
71
+ ```
72
+
73
+
74
+
47
75
  ----
48
76
 
49
77
  設定の保存にはUserDefaultsを調べてみるといいかもしれません。

1

追記

2017/10/26 08:22

投稿

MasakiHori
MasakiHori

スコア3384

test CHANGED
@@ -30,6 +30,20 @@
30
30
 
31
31
 
32
32
 
33
+ (追記)
34
+
35
+ Main.xibなど起動時に読み込まれるnibにWindowなどがある場合、そちらのwindowDidLoad()などが先に呼ばれます。
36
+
37
+ この場合は[awakeFromNib()](https://developer.apple.com/documentation/objectivec/nsobject/1402907-awakefromnib)が利用できます。
38
+
39
+ ただし、awakeFromNib()は複数回呼ばれる可能性がありますので予防措置が必要です。
40
+
41
+ この場合は`config`がnilの時だけloadするようにすればいいと思います。
42
+
43
+ (追記ここまで)
44
+
45
+
46
+
33
47
  ----
34
48
 
35
49
  設定の保存にはUserDefaultsを調べてみるといいかもしれません。