環境設定ペインにデータを表示するテーブルを作成しています。すべてのデータは NSUserDefaults にあります。表には、リストされたデバイスのデータを有効/無効にするチェックボックスがあります。チェックボックスは、編集可能な唯一のセルです。
表には、共有ユーザーのデフォルトのデータが正しく表示されています。したがって、テーブル コンテンツが正しい共有ユーザー デフォルト モデル キー パスに適切にマップされていることがわかります。ただし、チェックボックスを切り替えると、新しいデータがデフォルトにまったく書き込まれません。
ここでは、チェックボックスのセットアップを垣間見ることができます...
プログラムでデフォルトを設定できると考えて、NSButton (チェックボックス) にセレクター アクションを割り当ててみました。奇妙なことに、アクションは決してトリガーされません。NSLog を実行しただけの単純なアクションをセットアップしました。チェックボックスをクリックしても起動されませんでした。
更新:私のデフォルトのデータ構造がどのように見えるかを確認できるように、ここに defaults コマンドからの出力を示します。このテーブルの背後にあるコードは実際にはありません。
{
ClimateDeviceData = (
{
deviceName = Nest;
deviceSetting = "76";
display = 1;
structure = Home;
uuid = d01AA02AB145204VR;
}
);
ClimateLoginAtLaunch = 1;
ClimateMenuBarIconStyle = "Nest Temp Settings";
}
更新 #2 : この時点で、単にチェック ボックスからセレクターを呼び出すことができるという解決策を受け入れます。