環境設定


環境設定は、アプリケーションが(デフォルトとしてしばしば) 自分自身のために定義して設定するか、またはユーザーがアプリケーションのために選択している設定です。例えば、テキストエディタは、デフォルトのフォント、自動スペルチェック、自動保存の頻度の設定を持っているかもしれません。環境設定は、デフォルトまたはユーザ指定の ユーザデフォルト(または環境設定) として知られているシステムのリポジトリに記録されています。あなたのアプリケーションは、ユーザーのデフォルトのシステムに、キー値のペアの形式で、ユーザーの環境設定を書き込み、そこから環境設定を読み取ります。値はプロパティリスト・オブジェクトでなければなりません。あなたは NSUserDefaults クラスのメソッドやプリファレンス・ユーティリティ(CFPreference) の機能を呼び出すことにより、ユーザーのデフォルトのシステムとの間でユーザー環境設定を読み書きします。環境設定は、必ずしもユーザーが変更できるとは限りません。たとえば、アプリケーションは状態情報を格納するために、ユーザーのデフォルトのシステムを使用できます。



注意: ユーザーのデフォルト·システム内の項目は、プロパティリストオブジェクトでなければなりませんが、それらを読み書きするには、NSUserDefaults メソッドや CFPreference 関数だけを使用する必要があります。 NSPropertyListSerialization クラスなどのようにうプロパティリストを扱う他の API を使用しないでください。



各ユーザー環境設定は、ドメインとユーザーに属する


あなたがユーザーのデフォルトシステムへのユーザの環境設定を記述するとき、それは環境設定の範囲を反映するドメインに入ります。たとえば、すべてのアプリケーション(NSGlobalDomain) に適用されるほか用のデフォルトと、アプリケーション固有のデフォルトとのドメインがあります。これらのドメインの環境設定は、アプリケーションが起動する間を超えて永続しますが、いくつかのドメインの環境設定はアプリケーションの実行中にのみ存在します。


ユーザの環境設定は、特定のユーザに関連付けられています。それで、3段階に構造化されているものとして、ユーザのデフォルトのリポジトリ内の環境設定の"記録" を見ることができます:最初はユーザー、その後ドメイン(通常はグローバルまたはアプリケーションごと)、そして各ドメイン内のキー値のペアです。ユーザの組み合わせられた環境設定のルートオブジェクトは辞書であり、アプリケーション固有のドメインの場合、キーは、アプリケーションのバンドル識別子です。


preference



環境設定は、アプリケーションのバンドル識別子と名前が付けられた、plist の拡張子を持つファイルに書き込まれます。iOS ではファイルは、アプリケーションのサンドボックスの特別な場所に位置しています。OS X では、環境設定ファイルは、ユーザーのホームディレクトリの Library/Preferences の場所にあります。


アプリは環境設定の選択のユーザインタフェースを提示する


アプリケーションは、ユーザーのデフォルトのシステムでユーザが構成できる環境設定を保存できる前に、これらの環境設定を選択するためのユーザーインターフェイスを提示する必要があります。OS X では、そのアプリケーションのメニューから[環境設定(Preferences)] を選択して、ユーザが表示する環境設定パネルを設計することを引き起こします。アプリケーションは、ユーザーのデフォルトのシステムにユーザーが与える設定を記述するための責任があります。


iOS では、アプローチはより微妙です。アプリケーションには、ユーザー環境設定を表示する二つの方法があります。



設定アプリケーションにあなたのアプリケーションの環境設定を統合するには、アプリケーションバンドルの最上位ディレクトリに特別な形式の設定バンドルを含める必要があります。この設定バンドルは、アプリケーションの環境設定の情報を設定アプリケーションに提供し、ユーザーが指定した任意の値で、ユーザーのデフォルトのシステムを更新するためと、それらの環境設定の値を表示する責任があります。


実行時に、アプリケーションは NSUserDefaults または CFPreference API を使用して、ユーザーのデフォルトのシステムの環境設定を回収します。


ユーザーデフォルト設定の OS Xの設備


OS X は、ユーザデフォルトシステムとアプリケーションのユーザーの環境設定との統合を支援するための2つの便宜を提供します。



前提条件の記事


プロパティリスト
コントローラオブジェクト

関連記事


バンドル

既知のディスカッション


環境設定と設定プログラミングガイド

サンプルコードプロジェクト


UserDefaults
Preferences
目次
Xcode の新機能

  • アニメーション
  • コア・アニメーションは力を与える
    アニメーション必要条件
    暗黙・明示にアニメーション
    Platform 毎の Core Animation 統合
  • アプリケーションオブジェクト
  • アプリ Object は外部 delegate に通知
    アプリはアプリオブジェクト持つ
  • コントロールオブジェクト
  • UIKitでActMessageがEventを決定
    AppKitでControlは複数のセルを持つ
  • 座標系
  • 座標系は異なる描画方向を持てる
    ウインドウとビューは独自座標系
  • ドローイングモデル
  • ビューは自分自身を描画
    グラフィックコンテクスト
    描画はビューローカル座標系で
  • イベント(iOS)
  • オブジェクトはビューに触れる指を表現
    タッチオブジェクトの配信は、定義された経路をたどる
    イベントを処理するために4つのメソッドをオーバーライド
    モーションイベントの処理
  • フォーマッタ
  • フォーマッタの設定と適用
    OSXでセルにフォーマッタを添付
  • メインイベントループ
  • アプリケーションオブジェクト取得
    コアオブジェクトはイベントに応答
  • アウトレット
  • ターゲットアクション
  • アクションメソッドは特定の形式
    ツールの使用でターゲット設定
    ターゲットアクションと OS
  • アンドゥ・マネージャー
  • 取り消しの操作はオブジェクトに
    取り消し操作はスタックに
    操作は取り消しグループに合体
    取り消しを要求する方法
    取消マネージャとレスポンダ
    取消を要求ユーザーインタフェース
  • ビュー階層
  • 表示プロパティは、階層の関係定義
    iOS ではウィンドウはビューです
  • ビュー・オブジェクト
  • ビューのの中核プロパティ
    ビューはアニメーションの本質
  • ストーリーボード
  • シーンは唯一のビュー·コントローラとそのビューに対応
    セグエが2つのシーン間の遷移を管理
  • ウインドウ・オブジェクト
  • ウインドウがイベント配布
    iOS のウィンドウオブジェクト
    OS X のウィンドウオブジェクト
  • ペーストボード
  • ペーストボードは多くの項目を保持
    ペーストボードの持続性
  • 環境設定
  • 各ユーザー設定はドメインに属する
    アプリは環境設定の選択を提示
    ユーザーデフォルト設定で OS X
  • レスポンダ・オブジェクト
  • ファーストレスポンダは最初に受信
    レスポンダチェーンと協調イベント










    トップへ










    トップへ










    トップへ










    トップへ