NSUserDefaults クラスリファレンス 翻訳元
このページの最終更新:2010-02-08
ADCの最終更新:2009-08-28
ADCの最終更新:2009-08-28
継承するクラス | NSObject |
準拠しているプロトコル | NSObject (NSObject) |
フレームワーク | /System/Library/Frameworks/Foundation.framework |
使用可能な環境 | Mac OS X v10.0以降 |
宣言ファイル | NSUserDefaults.h |
コンパニオンガイド | User Defaults Programming Topics for Cocoa |
サンプルコード | CIColorTracking GLUT Quartz Composer QCTV Quartz Composer WWDC 2005 TextEdit Sproing |
概観(Overview)
NSUserDefaultsクラスはデフォルトシステムと相互に関係し合うプログラマティックなインターフェースを提供します。アプリケーションは、デフォルトシステムを使ってユーザの環境設定にあうように動作を変えることができます。例えば、アプリケーションにユニットをどの程度の大きさで表示するか、どのくらい頻繁に書類を自動的に保存するか等をユーザに決めさせることができます。アプリケーションはユーザデフォルトデータベースのパラメータ群の値を参照することによってこのような環境設定を記録することができます。このパラメータ群はデフォルトパラメータとして参照され、通常アプリケーションの初期状態や標準の動作を決定するのに使用されます。
ランタイムにおいては、NSUserDefaultsオブジェクトはアプリケーションがユーザデフォルトデータベースの値を読み込むために使われます。NSUserDefaultsクラスは必要なときにその都度ユーザデフォルトデータベースからデフォルトの値を読み込まなくても良いように、情報をキャッシュしています。link_anchor plugin error : idが指定されていないか、存在しないページを指定しています。メソッドは一定期間ごとに自動的に呼ばれ、メモリ中のキャッシュとをユーザーデフォルトデータベースの同期状態を保ちます。
NSUserDefaultsクラスは実数値、整数値、真偽値、URLのような一般的なデータ型にアクセスする為の便宜メソッドを定義しています。デフォルトオブジェクトはプロパティリストでなくてはなりません。これはつまり、NSData、NSString、NSNumber、NSDate、NSArray、NSDictionaryのインスタンス(またはこれらのインスタンスを組み合わせたコレクション)でなくてはならないということです。もし他のオブジェクトをストアしたいのなら、通常はアーカイブしてNSDataクラスのインスタンスを作ります。詳細については、User Defaults Programming Topics for Cocoa?をご覧ください。
たとえ可変オブジェクトをNSUserDefaultsオブジェクトにセットしても、NSUserDefaultsオブジェクトから返される値は不変です。例えば、"MyStringDefault"という可変文字列をセットしたとします。その後、link_anchor plugin error : idが指定されていないか、存在しないページを指定しています。メソッドを使用して再取得した文字列は不変オブジェクトです。
デフォルトデータベースはそれぞれのユーザに対して自動的に作られます。現在、NSUserDefaultsクラスはホストごとの環境設定をサポートしていません。この機能ウィ利用したい場合は、CFPreferences APIを使用してください(Preferences Utilities Reference?を参照)。ただし、NSUserDefaultsクラスはホストごとの環境設定を正しく読み込むので、CFPreferencesのコードとNSUserDefaultsクラスのコードは問題なく混ぜることができます。
ランタイムにおいては、NSUserDefaultsオブジェクトはアプリケーションがユーザデフォルトデータベースの値を読み込むために使われます。NSUserDefaultsクラスは必要なときにその都度ユーザデフォルトデータベースからデフォルトの値を読み込まなくても良いように、情報をキャッシュしています。link_anchor plugin error : idが指定されていないか、存在しないページを指定しています。メソッドは一定期間ごとに自動的に呼ばれ、メモリ中のキャッシュとをユーザーデフォルトデータベースの同期状態を保ちます。
NSUserDefaultsクラスは実数値、整数値、真偽値、URLのような一般的なデータ型にアクセスする為の便宜メソッドを定義しています。デフォルトオブジェクトはプロパティリストでなくてはなりません。これはつまり、NSData、NSString、NSNumber、NSDate、NSArray、NSDictionaryのインスタンス(またはこれらのインスタンスを組み合わせたコレクション)でなくてはならないということです。もし他のオブジェクトをストアしたいのなら、通常はアーカイブしてNSDataクラスのインスタンスを作ります。詳細については、User Defaults Programming Topics for Cocoa?をご覧ください。
たとえ可変オブジェクトをNSUserDefaultsオブジェクトにセットしても、NSUserDefaultsオブジェクトから返される値は不変です。例えば、"MyStringDefault"という可変文字列をセットしたとします。その後、link_anchor plugin error : idが指定されていないか、存在しないページを指定しています。メソッドを使用して再取得した文字列は不変オブジェクトです。
デフォルトデータベースはそれぞれのユーザに対して自動的に作られます。現在、NSUserDefaultsクラスはホストごとの環境設定をサポートしていません。この機能ウィ利用したい場合は、CFPreferences APIを使用してください(Preferences Utilities Reference?を参照)。ただし、NSUserDefaultsクラスはホストごとの環境設定を正しく読み込むので、CFPreferencesのコードとNSUserDefaultsクラスのコードは問題なく混ぜることができます。
アプリケーションが管理下の環境をサポートする場合、ユーザの利益の為にどの環境設定を管理者が管理するかをNSUserDefaultsオブジェクトを使って決めることができます。管理下の環境とは、コンピュータラボやコンピュータクラスなど管理者や教師がある目的に沿ってシステムを設計する環境のことです。こん今日な時、教師はデフォルトの環境設定群を作ってそれぞれのユーザの環境設定を強制することができます。この方式で環境設定を管理するのなら、アプリケーションはコントロールを適宜使用不可能にすることでユーザに環境設定を変更させないようにすべきです。
NSUserDefaultsクラスはスレッドセーフです。
NSUserDefaultsクラスはスレッドセーフです。
NSURLとファイルを参照するURLの持続性(Persistence of NSURL and file reference URLs)
処理の中でファイルを参照するのにNSURLクラスのインスタンスを使っているとき、位置情報を基にしてファイルを追跡すること(file:スキームURLは基本的にはパスです)と、対になっているファイルシステムの識別情報を基にファイルを追跡すること(file:スキームはファイルを参照するURLです)を区別することは重要なことです。NSURLオブジェクトが残存している時には、その動作を考慮に入れておくべきです。アプリケーションが識別情報を基に位置づけされているリソースを追跡していて、ユーザがファイルを移動しても発見できる場合には、NSURLのブックマークデータを書いておいたり、ファイル参照URLをエンコードしておくなどするべきです。