ユーザーの既定値に格納されている配列のコレクション プロパティにコントロールをバインドすることは可能ですか?
私は(Xcode 4.3のインターフェイスビルダーで)次のように最大値を配列カウントにバインドしようとしていました:
最大値 (共有ユーザー デフォルト Controller.values.MYArrayName.@count)
バインド先:共有ユーザー デフォルト コントローラー
コントローラー キー:値
モデル キー パス: MYArrayName.@count
残念ながら、これはまったく効果がありません (エラーもありません)。
最大値をビュー コントローラーの ivar にバインドし、それをユーザーの既定の値にバインドできます。例えば
NSUInteger maxVal
...
NSUserDefaults* stdUD=[NSUserDefaults standardUserDefaults];
[self bind:@"maxVal" toObject:stdUD withKeyPath:@"MYArrayName.@count" options:nil];
それで:
最大値 (ファイルの owner.maxVal)
バインド先:ファイル所有者
コントローラー キー:
モデル キー パス: maxVal
しかし、私は余分なステップなしでそれをやりたかったでしょう