現在、3 つのビュー コントローラーにリンクされた UITabBarController のサブクラスを持つストーリーボードがあります。これらのビュー コントローラーは UIViewController のカスタム サブクラスであり、メイン ビュー コントローラー (.plist ファイルから取得) からプロパティ (設定) にアクセスする必要があるため、「デリゲート」プロパティを追加しました。このファイルの読み書きを処理する設定クラスです。
とにかく、IB からデリゲート プロパティを設定する方法が見つからなかったので、これをコードに追加しました。
- (void)viewDidLoad
{
[super viewDidLoad];
/* Fetch settings */
NSString* settingsPath = [[NSBundle mainBundle] pathForResource:@"Settings" ofType:@"plist"]; // Load settings from file
settings = [[Settings alloc] initWithContentOfFile:settingsPath];
for (UIViewController<HasDelegate> *c in [self viewControllers]) {
c.delegate = self;
}
}
ただし、最初のView Controller(アプリの起動時に表示されるもの)のみがアクセスできます。他のものには、delegate プロパティの nil ポインターがあります。
それは正しい方法ですか?何が欠けていますか?