プロパティリストオブジェクト : Objective-C プログラミング
PROGRAM
プロパティリストオブジェクト
Objective-C には、プロパティリストオブジェクトと呼ばれるデータ型が存在するようです。
具体的に、次の 8 つのデータ型が、プロパティリストオブジェクトとされています。
| 配列型 | <array> | NSArray | CFArray |
|---|---|---|---|
| ディクショナリ型 | <dict> | NSDictionary | CFDictionary |
| 文字列型 | <string> | NSString | CFString |
| データ型 | <data> | NSData | CFData |
| 日付時刻型 | <date> | NSDate | CFDate |
| 数値型 | <integer> | NSNumber (intValue) | CFNumber (integer value) |
| 浮動小数点数型 | <real> | NSNumber (floatValue) | CFNumber (floating-point value) |
| 真偽値型 | <true/> <false/> |
NSNumber (boolValue) | CFBoolean |
これらのデータ型は、Xcode のプロパティリストファイルとして持てるデータ型にもなっていて、これを組み合わせてプロパティリストを構成します。構成されたプロパティリストは、プロパティリストを作成して NSDictionary 変数に取り込む に記したように、NSDictionary 型へ一括して取り込むといったことも出来ます。
また、NSUserDefaults でアプリケーションの設定値を管理する に記したように、NSUserDefaults の setObject:forKey: や arrayForKey:, dictionaryForKey: で NSArray や NSDictionary を直接扱う場合には、これらが保持する値は、上記のプロパティリストオブジェクトで構成されている必要があります。
NSArray や NSDictionary がプロパティリストオブジェクトで構成されていない場合には、独自クラスを NSData に変換する で記したように、NSKeyedArchiver を使用して NSData 型に変換し、それを NSKeyedUnarchiver で元に戻すといった手順を踏む必要があります。
[ もどる ]