NSDictionary


以下に記述したのは、C言語及び Objective-C での NSDictonary の記事です。Swift の Dictioinary に関しては、こちら Dictionary を参照してください。



継承

NSObject(Class)


準拠

NSCopying, NSFastEnumeration, NSSecureCoding, NSMutableCopying, NSObject(Protocol)


フレームワーク

OS X 10.0 以降の Foundation。関連事項




概観


NSDictionary クラスは、キー値の不変(immutable) の関連付けを管理するオブジェクトへのプログラムインターフェイスを宣言します。ある任意のキーに関連付けられたデータを取得するために便利で効率的な方法が必要なときには、このクラスまたはそのサブクラス NSMutableDictionary を使用してください。NSDictionary は、静的な辞書を作成し、NSMutableDictionary は、動的な辞書を作成します。(便宜上、辞書(dictionary) という用語は、その正確なクラスのメンバーシップを指定せずにこれらのクラスの1つの任意のインスタンスを指します。)


辞書内のキー値のペアはエントリと呼ばれています。各エントリは、1つのオブジェクトから成り、キーを表す一つのオブジェクトとそのキーの値である、第二のオブジェクトで構成されています。辞書の中では、キーはユニーク(一意的) です。すなわち、同じ1つの辞書では2つのキーは等しくなりません(isEqual: によって確かめられます)。一般的に、キーはあるオブジェクトですが(NSCopying プロトコルに準拠して提供されていますー下記を参照して下さい)、キー値コーディングを使用する場合にはキーは文字列でなければならないことに注意してください(キー値コーディングの基礎 を参照)。キーや値は nil であることはできず、辞書に null 値を表す必要がある場合は、NSNull を使用する必要があります。


NSDictionary は、Core Foundationの相手、CFDictionaryRef と「自由通話で繋がって」います。自由通話で繋がっている事の詳細については、自由通話で繋がっているを参照してください。


サブクラス化の注意事項


一般的に NSDictionary はサブクラス化する必要はありません。カスタム動作は、通常はサブクラス化ではなく組成によって達成されます。


オーバーライドするメソッド


NSDictionary をサブクラス化する必要がある場合、それはクラスクラスタであることを考慮に入れて下さい。すべてのサブクラスは、以下のプリミティブメソッドをオーバーライドしなければなりません。


initWithObjects:forKeys:count:


@property count


objectForKey:


keyEnumerator


NSDictionary の他のメソッドは、これらのプリミティブの一つ以上を呼び出すことによって操作します。非プリミティブメソッドは、一度に複数のエントリにアクセスする便利な方法を提供します。


サブクラス化の代替手段


NSDictionary のカスタムクラスを作成する前に、NSMapTable と、対応する Core Foundation のタイプ、CFDictionary リファレンス を調査しましょう。 NSDictionaryCFDictionary は「自由通話で繋がっている」ため、(適切なキャストで) コード内の NSDictionary オブジェクトの代わりに CFDictionary オブジェクトを使うことができます。これらはタイプが対応していますが、CFDictionaryNSDictionary は、同一のインターフェイスや実装を持っておらず、時々 NSDictionary で簡単に行うことができないことを、CFDictionary で行なうことができます。


もし既存のクラスの、補足を追加したい動作がある場合、NSDictionary 上のカテゴリを書く事ができます。しかしながら、このカテゴリは、使用する NSDictionary のすべてのインスタンスに対して有効にされることを、覚えておき、これは意図しない結果になるかもしれません。あるいは、目的の動作を達成するために合成物を使用できます。




タスク


辞書作成


+ dictionary


空の辞書を作成し、返します。


宣言

<< OBJECTIVE-C >>

+ (instancetype)dictionary


戻り値

新しい空の辞書。


議論

このメソッドは、NSDictionary の可変サブクラスでおもに使用するために宣言されています。


一時的なオブジェクトを望まない場合は、alloc...init を使用して空の辞書を作成することもできます。


利用可能

OS X v10.0 以降で利用可能。





+ dictionaryWithContentsOfFile:


与えられたパスで指定されたファイルで見つかったキー値を使用して辞書を作成し、返す。


宣言

<< OBJECTIVE-C >>

+ (NSDictionary<KeyType,ObjectType> *)dictionaryWithContentsOfFile:(NSString *)path


パラメータ

pathフルパスまたは相対パス名。path によって識別されるファイルは、ルートオブジェクトが辞書であるプロパティリストの文字列表現を含んでいなければなりません。

戻り値

path の辞書の内容を含む新しい辞書か、ファイルの内容が辞書の無効な表現である場合か、そこにファイルエラーが発生した場合、nil になります。


議論

path によって識別されるファイル内の辞書表現は、プロパティリストオブジェクト(NSString、NSData、NSDate、NSNumber、NSArray または NSDictionary オブジェクト) だけを含んでいなければなりません。詳細については、プロパティリスト・プログラミングガイド を参照してください。この辞書に含まれるオブジェクトは辞書が変更可能であっても、変更不能(immutable)です。


利用可能

OS X v10.0 以降で利用可能。


以下も見よ

- initWithContentsOfFile:





+ dictionaryWithContentsOfURL:


与えられた URL で指定されたリソースで見つかったキー値を使用して辞書を作成し、返します。


宣言

<< OBJECTIVE-C >>

+ (NSDictionary<KeyType,ObjectType> *)dictionaryWithContentsOfURL:(NSURL *)aURL


パラメータ

aURLそのルートオブジェクトは辞書である、プロパティリストの文字列表現を含むリソースを識別する URL。

戻り値

リソースの内容が、辞書の無効な表現である場合か、エラーがある場合 nil になるか、aURL の場所の辞書を含む新しい辞書。


議論

path によって識別されるファイル内の辞書表現は、プロパティリストオブジェクト(NSString、NSData、NSDate、NSNumber、NSArray、または NSDictionary オブジェクト) のみを含んでいる必要があります。詳細については、プロパティリストプログラミングガイド を参照してください。この辞書に含まれるオブジェクトは辞書が変更可能であっても、変更不能です。


利用可能

OS X v10.0 以降で利用可能。


以下も見よ

- initWithContentsOfURL:





+ dictionaryWithDictionary:


別の与えられた辞書からキー値を含む辞書を作成し、返します。


宣言

<< OBJECTIVE-C >>

+ (instancetype)dictionaryWithDictionary:(NSDictionary<KeyType,
                                  ObjectType> *)otherDictionary


パラメータ

otherDictionary新しい辞書を初期化するためのキー値を含む辞書。

戻り値

otherDictionary で見つかったキー値を含む新しい辞書。


利用可能

OS X v10.0 以降で利用可能。


以下も見よ

- initWithDictionary:





+ dictionaryWithObject:forKey:


与えられたキー値を含む辞書を作成し、返します。


宣言

<< SWIFT >>

convenience init(object object: AnyObject,
          forKey key: NSCopying)

<< OBJECTIVE-C >>
+ (instancetype)dictionaryWithObject:(ObjectType)anObject
                              forKey:(id<NSCopying>)aKey


パラメータ

anObjectaKey に対応する値。
この値が nil の場合、NSInvalidArgumentException の例外が発生します。
aKeyanObject に対するキー。
この値が nil の場合、NSInvalidArgumentException の例外が発生します。

戻り値

単一のキー、aKey に対する単一のオブジェクト、anObject を含む新しい辞書。


利用可能

OS X v10.0 以降で利用可能。


以下も見よ

+ dictionaryWithObject:forKey:

+ dictionaryWithObjects:forKeys:count:

+ dictionaryWithObjectsAndKeys:





+ dictionaryWithObjects:forKeys:


キーの配列と値の配列の内容から構成されたエントリを含む辞書を作成し、返します。


宣言

<< OBJECTIVE-C >>

+ (instancetype)dictionaryWithObjects:(NSArray<ObjectType> *)objects
                              forKeys:(NSArray<id<NSCopying>> *)keys


パラメータ

objects 新しい辞書の値を含む配列。
keys新しい辞書のキーを含む配列。各キーは、コピーされ、(copyWithZone: を使用して。キーは NSCopying プロトコルに準拠していなければなりません)コピーが辞書に追加されます。

戻り値

objectskeys の内容から構成されたエントリを含む新しい辞書。


議論

このメソッドは、objectskeys の配列の間をステップを踏むように繰り返し経由し、ステップ毎に新しい辞書内のエントリを作って行きます。オブジェクトとキーが同じ数の要素を持っていない場合には、 NSInvalidArgumentException の例外が発生します。


利用可能

OS X v10.0 以降で利用可能。

以下も見よ

- initWithObjects:forKeys:

+ dictionaryWithObject:forKey:

+ dictionaryWithObjects:forKeys:count:

+ dictionaryWithObjectsAndKeys:





+ dictionaryWithObjects:forKeys:count:


objects の配列から、count のオブジェクトを含む辞書を作成し、返します。


宣言

<< OBJECTIVE-C >>

+ (instancetype)dictionaryWithObjects:(const ObjectType _Nonnull [])objects
                              forKeys:(const id<NSCopying> _Nonnull [])keys
                                count:(NSUInteger)count


パラメータ

objects新しい辞書の値の C 言語の配列。
keys新しい辞書のキーの C 言語の配列。各キーは、コピーされ(copyWithZone:を使用して。キーは NSCopying プロトコルに準拠していなければなりません)、コピーが新しい辞書に追加されます。
countkeysobjects の配列から使用する要素の数。count は、objectskeys 内の要素数を超えてはなりません。

議論

このメソッドは、objectskeys 配列の間の行き来を繰り返し、新しい辞書内のエントリを作成します。キーまたは値オブジェクトが nil の場合は NSInvalidArgumentException の例外が発生します。


以下のコードは、ASCII 値とアルファベット文字を関連付ける辞書を作成する方法を示しています。



  1. static const NSInteger N_ENTRIES = 26;
  2. NSDictionary *asciiDict;
  3. NSString *keyArray[N_ENTRIES];
  4. NSNumber *valueArray[N_ENTRIES];
  5. NSInteger i;
  6. for (i = 0; i < N_ENTRIES; i++) {
  7.         char charValue = 'a' + i;
  8.         keyArray[i] = [NSString stringWithFormat:@"%c", charValue];
  9.         valueArray[i] = [NSNumber numberWithChar:charValue];
  10. }
  11. asciiDict = [NSDictionary dictionaryWithObjects:(id *)valueArray
  12.                         forKeys:(id *)keyArray count:N_ENTRIES];



利用可能

OS X v10.0 以降で利用可能。


以下も見よ

- initWithObjects:forKeys:count:

+ dictionaryWithObject:forKey:

+ dictionaryWithObjects:forKeys:

+ dictionaryWithObjectsAndKeys:





+ dictionaryWithObjectsAndKeys:


値とキーの特定のセットから構築されたエントリを含む辞書を作成し、返します。


宣言

<< OBJECTIVE-C >>

+ (instancetype)dictionaryWithObjectsAndKeys:(id)firstObject

, ...


パラメータ

firstObject新しい辞書に追加する最初の値。
...firstObject のための最初のキー、そして値とキーが交互に続き、null で終了するリスト。いずれかのキーが nil の場合、NSInvalidArgumentException の例外が発生します。

議論

このメソッドは、dictionaryWithObject:forKey:に似ています。ただ、キー値のペアが指定されている方法が異なります。


たとえば:



  1. NSDictionary *dict = [NSDictionary dictionaryWithObjectsAndKeys:
  2.         @"value1", @"key1", @"value2", @"key2", nil];


利用可能

OS X v10.0 以降で利用可能。


以下も見よ

- initWithObjectsAndKeys:

+ dictionaryWithObject:forKey:

+ dictionaryWithObjects:forKeys:

+ dictionaryWithObjects:forKeys:count:





NSDictionary インスタンスの初期化


- init 指定イニシャライザ


新たに割り当てられた辞書を初期化します。


宣言

<< SWIFT >>

init()


<< OBJECTIVE-C >>

- (instancetype)init


戻り値

辞書。


議論

このメソッドは、NSDictionary の指定イニシャライザです。


利用可能

OS X v10.9 以降で利用可能。


以下も見よ

- initWithObjects:forKeys:count:





- initWithContentsOfFile:


与えられたパスにあるファイルで見つかったキー値を使用して、新たに割り当てられた辞書を初期化します。


宣言

<< SWIFT >>

convenience init?(contentsOfFile path: String)


<< OBJECTIVE-C >>

- (NSDictionary<KeyType,ObjectType> *)initWithContentsOfFile:(NSString *)path


パラメータ

pathフルパスまたは相対パス名。path によって識別されるファイルには、プロパティリストのルートオブジェクトが辞書である文字列表現を含んでいなければなりません。

戻り値

初期化された辞書は元の受信者とは異なる場合がありますが、path の所の辞書を含み、ファイルエラーがある場合や、ファイルの内容が、辞書の無効な表現である場合、nil


議論

path によって識別されるファイル内の辞書表現は、プロパティリストオブジェクト(NSString、NSData、NSDate、NSNumber、NSArray、または NSDictionary オブジェクト) のみを含んでいる必要があります。詳細については、プロパティリストプログラミングガイド を参照してください。この辞書に含まれるオブジェクトは辞書が変更可能であっても、変更不能です。


利用可能

OS X v10.0 以降で利用可能。


以下も見よ

+ dictionaryWithContentsOfFile:





- initWithContentsOfURL:


与えられた URL で見つかったキー値を使用して、新たに割り当てられた辞書を初期化します。


宣言

<< SWIFT >>

<

convenience init?(contentsOfURL url: NSURL)


<< OBJECTIVE-C >>

- (NSDictionary<KeyType,ObjectType> *)initWithContentsOfURL:(NSURL *)aURL


パラメータ

aURLプロパティリストのルートオブジェクトが辞書である文字列表現を含むリソースを識別する URL。

戻り値

初期化された辞書は元の受信者と異なる場合がありますが、aURL の所の辞書を含み、ファイルエラーがある場合や、リソースの内容が辞書の無効な表現である場合、nil


議論

path によって識別されるファイル内の辞書表現は、プロパティリストオブジェクト(NSString、NSData、NSDate、NSNumber、NSArray、または NSDictionary オブジェクト) のみを含んでいる必要があります。詳細については、プロパティリストプログラミングガイド を参照してください。この辞書に含まれるオブジェクトは辞書が変更可能であっても、変更不能です。


利用可能

OS X v10.0 以降で利用可能。


以下も見よ

+ dictionaryWithContentsOfURL:





- initWithDictionary:


別の与えられた辞書に含まれるキー値をその中に置くことで、新たに割り当てられた辞書を初期化します。


宣言

<< SWIFT >>

convenience init(dictionary otherDictionary: [NSObject : AnyObject])


<< OBJECTIVE-C >>

- (instancetype)initWithDictionary:(NSDictionary<KeyType,
                            ObjectType> *)otherDictionary


パラメータ

otherDictionary新しい辞書を初期化するためにどのキー値で行なうかを含む辞書。

戻り値

初期化された辞書は、元の受信者とは異なる場合がありますが、otherDictionary で見つかったキー値を含みます。


利用可能

OS X v10.0 以降で利用可能。


以下も見よ

+ dictionaryWithDictionary:





- initWithDictionary:copyItems:


別の与えられた辞書に含まれているオブジェクトを使用して、新しく割り当てられた辞書を初期化します。


宣言

<< SWIFT >>

convenience init(dictionary otherDictionary: [NSObject : AnyObject],
       copyItems flag: Bool)

<< OBJECTIVE-C >>
- (instancetype)initWithDictionary:(NSDictionary<KeyType,
                                            ObjectType> *)otherDictionary
                         copyItems:(BOOL)flag


パラメータ

otherDictionary新しい辞書を初期化するためにどのキー値で行なうかを含む辞書。
flagもし YES なら、otherODictionary の各オブジェクトは copyWithZone: メッセージを受けて、オブジェクトのコピーを作成しますが、オブジェクトは NSCopying プロトコルに準拠している必要があります。管理されたメモリ環境では、これは、オブジェクトが他の場合受け取る、retain メッセージの代わりです。その後オブジェクト·コピーが戻された辞書に追加されます。
もし NO なら、管理されたメモリ環境では、otherDictionary 内の各オブジェクトは単に retain メッセージを、返された辞書に追加されたときに受信します。

戻り値

初期化された辞書は、元の受信者とは異なる場合がありますが、otherDictionary で見つかったキー値を含みます。


議論

変更不能の辞書は、このように初期化された後、変更することはできません。


copyWithZone: メソッドは、浅いコピーを実行します。もし任意の深さのコレクションを持っている場合は、flag パラメータに YES を渡し、表面下の最初のレベルの変更不能コピーを実行します。もし NO を渡すと最初のレベルの可変性は影響を受けません。いずれの場合も、すべてのより深いレベルの可変性は影響を受けません。


利用可能

OS X v10.0 以降で利用可能。


以下も見よ

- initWithDictionary:





- initWithObjects:forKeys:


objectskeys 配列の内容から構成されるエントリで新たに割り当てられた辞書を初期化します。


宣言

<< SWIFT >>

convenience init(objects objects: [AnyObject],
         forKeys keys: [NSCopying])

<< OBJECTIVE-C >>
- (instancetype)initWithObjects:(NSArray<ObjectType> *)objects
                        forKeys:(NSArray<id<NSCopying>> *)keys


パラメータ

objects新しい辞書の値を含む配列。
keys新しい辞書のキーを含む配列。各キーは(copyWithZone: を使用して。キーは NSCopying プロトコルに準拠している必要があります)コピーされ、コピーが新しい辞書に追加されます。

議論

このメソッドは、objectskeys の配列の間を交互に行き来し、その度にに新しい辞書のエントリを作成します。オブジェクトとキーの配列が同じ数の要素を持っていない場合Nは >NSInvalidArgumentException の例外が発生します。


利用可能

OS X v10.0 以降で利用可能。


以下も見よ

+ dictionaryWithObjects:forKeys:

- initWithObjects:forKeys:count:

- initWithObjectsAndKeys:





- initWithObjects:forKeys:count: 指定イニシャライザ


count の数のエントリで新たに割り当てられた辞書を初期化します。


宣言

<< SWIFT >>

init(objects objects: UnsafePointer<AnyObject?>,
     forKeys keys: UnsafePointer<NSCopying?>,
       count cnt: Int)

<< OBJECTIVE-C >>
- (instancetype)initWithObjects:(const ObjectType _Nonnull [])objects
                        forKeys:(const id<NSCopying> _Nonnull [])keys
                          count:(NSUInteger)count


パラメータ

objects新しい辞書の値の C 言語の配列。
keys新しい辞書のキーの C 言語の配列。各キーはコピーされ、(copyWithZone: を使用して。キーは NSCopying プロトコルに準拠している必要があります) コピーが新規の辞書に追加されます。
countkeysobjects の配列から使用する要素の数。count は、objectskeys 内の要素数を超えてはなりません。

議論

このメソッドは、objectskeys の配列の間を交互に行き来し、その度にに新しい辞書のエントリを作成します。キーまたは値のオブジェクトが nil の場合は NSInvalidArgumentException の例外が発生します。


このメソッドは、NSDictionary の指定イニシャライザです。


利用可能

OS X v10.0 以降で利用可能。


以下も見よ

+ dictionaryWithObjects:forKeys:count:

- initWithObjects:forKeys:

– initWithObjectsAndKeys:

- init





- initWithObjectsAndKeys:


値とキーの特定のセットから構築されたエントリで、新たに割り当てられた辞書を初期化します。


宣言

<< OBJECTIVE-C >>

- (instancetype)initWithObjectsAndKeys:(id)firstObject

, ...


パラメータ

firstObject新しい辞書に加えるべき、最初の値。
...最初のキーは firstObject のためであり、交互に値とキーが続き、null で終了するリスト。いずれかのキーが nil だと、NSInvalidArgumentException の例外が発生します。

議論

このメソッドは、initWithObjects:forKeys: に似ています。ただ、キー値のペアが指定される方法が異なります。


たとえば:


<< OBJECTIVE-C >>


  1. NSDictionary *dict = [[NSDictionary alloc] initWithObjectsAndKeys:
  2.         @"value1", @"key1", @"value2", @"key2", nil];


利用可能

OS X v10.0 以降で利用可能。


以下も見よ

+ dictionaryWithObjectsAndKeys:

- initWithObjects:forKeys:

- initWithObjects:forKeys:count:





共有鍵で最適化された辞書用キーセットの作成


+ sharedKeySetForKeys:


指定されたキーの共有キーセットオブジェクトを作成します。


宣言

<< SWIFT >>

class func sharedKeySetForKeys(_ keys: [NSCopying]) -> AnyObject


<< OBJECTIVE-C >>

+ (id)sharedKeySetForKeys:(NSArray<id<NSCopying>> *)keys


パラメータ

keysキーの配列。このパラメータが nil の場合、例外が起こります。キーの配列が空の場合、空のキーセットが返されます。

戻り値

共有キーセットのオブジェクト。


議論

重複を含む keys の配列は静かに無視されます。重複したキーのハッシュ値は静かに許可されますが、より低い性能​​の原因となり、メモリ使用量を増加させる原因となります。


通常は、共有鍵の辞書を作成する前に、一度キーの与えられたセットに対して共有キーセットを作成し、NSMutableDictionary クラスメソッド dictionaryWithSharedKeySet: で使用するため、このメソッドの結果を保存します。


利用可能

OS X v10.8 以降で利用可能。





エントリを数える


count プロパティ


辞書内のエントリの数。(読み取り専用)


宣言

<< SWIFT >>

var count: Int { get }


<< OBJECTIVE-C >>

@property(readonly) NSUInteger count


利用可能

OS X v10.0 以降で利用可能。





辞書の比較


- isEqualToDictionary:


受信者の辞書の内容が別の与えられた辞書の内容と等しいかどうかを示すブール値を返します。


宣言

<< SWIFT >>

func isEqualToDictionary(_ otherDictionary: [NSObject : AnyObject]) -> Bool


<< OBJECTIVE-C >>

- (BOOL)isEqualToDictionary:(NSDictionary<KeyType, ObjectType> *)otherDictionary


パラメータ

otherDictionary受信者の辞書と比較するべき辞書。

戻り値

もし otherDictionary の内容が、受信者の辞書の内容に等しいければ YES そうでなければ NO


議論

それぞれの辞書が同じ数のエントリを持っていて、与えられたキーを持っている場合、2つの辞書は等しい内容を持っており、各辞書の対応する値オブジェクトは isEqual: テストをを満たします。


利用可能

OS X v10.0 以降で利用可能。


以下も見よ

isEqual:(NSObject プロトコル)





キー値へのアクセス


allKeys プロパティ


辞書のキーを含む新しい配列、または辞書にエントリを全くなければ空の配列。(読み取り専用)


宣言

<< SWIFT >>

var allKeys: [AnyObject] { get }


<< OBJECTIVE-C >>

@property(readonly, copy) NSArray < KeyType > *allKeys


議論

配列内の要素の順序は定義されていません。


利用可能

OS X v10.0 以降で利用可能。





- allKeysForObject:


辞書内の与えられたオブジェクトの出現場所全てに対応するキーを含む新しい配列を返します。


宣言

<< SWIFT >>

func allKeysForObject(_ anObject: AnyObject) -> [AnyObject]


<< OBJECTIVE-C >>

- (NSArray<KeyType> *)allKeysForObject:(ObjectType)anObject


パラメータ

anObject辞書で探すべき値。

戻り値

辞書内の anObject の出現場所全てに対応するキーを含む新しい配列。anObject に一致するオブジェクトが全く見つからない場合、空の配列を返します。


議論

それが anObject と等しいかどうかを確認するため、isEqual: メッセージが辞書内の各オブジェクトに送信されます。


利用可能

OS X v10.0 以降で利用可能。


以下も見よ

allKeys

- keyEnumerator:





allValues プロパティ


辞書の値を含む新しい配列、または辞書にエントリが全くない場合は空の配列。(読み取り専用)


宣言

<< SWIFT >>

var allValues: [AnyObject] { get }


<< OBJECTIVE-C >>

@property(readonly, copy) NSArray < ObjectType > *allValues


議論

配列内の値の順序は定義されません。


利用可能

OS X v10.0 以降で利用可能。





getObjects:andKeys:

(OS X v10.11)


辞書内のキー値の C 配列の参照で返します。


宣言

<< SWIFT >>

func getObjects(_ objects: AutoreleasingUnsafeMutablePointer<AnyObject?>,
        andKeys keys: AutoreleasingUnsafeMutablePointer<AnyObject?>)

<< OBJECTIVE-C >>
- (void)getObjects:(ObjectType _Nonnull [])objects
           andKeys:(KeyType _Nonnull [])keys


パラメータ

objects戻ったときに、辞書内の値の C の配列を含んでいます。
keys戻ったときに、辞書のキーの C の配列を含んでいます。

議論

返される配列内の n 番目のオブジェクトがキーで、1対1でキーに対応するように返された配列やキー配列の要素。


利用可能

OS X v10.5 以降で利用可能。

OS X 10.11 で旧式となりました。


以下も見よ

allKeys

allValues

- objectForKey:

- objectsForKeys:notFoundMarker:





- objectForKey:


与えられたキーに関連した値を返します。


宣言

<< SWIFT >>

func objectForKey(_ aKey: AnyObject) -> AnyObject?

<< OBJECTIVE-C >>
- (ObjectType)objectForKey:(KeyType)aKey


パラメータ

aKey対応する値を返すためのキー。

戻り値

aKey に関連した値、aKey に関連した値がない場合 nil


利用可能

OS X v10.0 以降で利用可能。


以下も見よ

allKeys

allValues

- getObjects:andKeys:





- objectForKeyedSubscript:


与られたキーに関連した値を返します。


宣言

<< SWIFT >>

subscript (_ key: NSCopying) -> AnyObject? { get }

<< OBJECTIVE-C >>
- (ObjectType)objectForKeyedSubscript:(KeyType)key


パラメータ

key対応する値を返すためのキー。

戻り値

aKey に関連した値、aKey に関連した値がない場合 >nil


議論

このメソッドは、objectForKey: と同じように動作します。


利用可能

OS X v10.8 以降で利用可能。

以下も見よ

allKeys

allValues

- getObjects:andKeys:

- valueForKey:





- objectsForKeys:notFoundMarker:


NSArray のように指定された keys に対応した辞書からのオブジェクトのセットを返します。


宣言

<< SWIFT >>

func objectsForKeys(_ keys: [AnyObject],
     notFoundMarker marker: AnyObject) -> [AnyObject]

<< OBJECTIVE-C >>
- (NSArray<ObjectType> *)objectsForKeys:(NSArray<KeyType> *)keys
                         notFoundMarker:(ObjectType)anObject


パラメータ

keys対応する値を返すためのキーを含む NSArray
anObject与られたキーに対応する辞書にオブジェクトが見つからない場合は、マーカーオブジェクトが返された配列の対応する要素内に配置されます。

議論

返される配列と keys 配列ないのオブジェクトは 1対1 で対応しており、返された配列内の n 番目のオブジェクトは、keys の n 番目のキーに対応しています。


利用可能

OS X v10.0 以降で利用可能。

以下も見よ

allKeys

allValues

- getObjects:andKeys:





- valueForKey:


与られたキーに関連した値を返します。


宣言

<< SWIFT >>

func valueForKey(_ key: String) -> AnyObject?

<< OBJECTIVE-C >>
- (ObjectType)valueForKey:(NSString *)key


パラメータ

key対応する値を返すためのキー。キー値コーディングを使用するときに、キーは文字列でなければならないことに注意してください。(キー値コーディングの基礎 を参照のこと)

戻り値

key に関連した値。


議論

key が"@"で始まらない場合、objectForKey: を呼び出します。key が"@"で始まる場合、"@"を削除し、キーの他の部分で、[super valueForKey:] を呼び出します。


利用可能

OS X v10.3 以降で利用可能。


以下も見よ

setValue:forKey: (NSMutableDictionary)

- getObjects:andKeys:





列挙型の辞書


- keyEnumerator:


宣言

辞書内の各キーにアクセスすることができるようにする列挙子オブジェクトを返します。


<< OBJECTIVE-C >>

- (NSEnumerator *)keyEnumerator


戻り値

辞書内の各キーにアクセスすることができるようにする列挙子オブジェクト。


議論

以下のコードは、このメソッドを使用する方法を示しています。



  1. NSEnumerator *enumerator = [myDictionary keyEnumerator];
  2. id key;
  3. while ((key = [enumerator nextObject])) {
  4.         /* code that uses the returned key */
  5. }


もし NSDictionary の可変のサブクラスのインスタンスで、このメソッドを使用するなら、コードは列挙中にエントリを決して変更しないでください。エントリを変更する場合は、辞書のキーの「スナップショット」を作成するために allKeys プロパティを使用して下さい。その後、道なりにそれらを変更しながら、エントリを注意深く見るために、このスナップショットを使用して下さい。


objectEnumerator メソッドは、辞書内の各値にアクセスするための便利な方法を提供していることに注意してください。


特別な考慮事項

高速列挙プロトコルを使用する方が(NSFastEnumeration を参照) 効率的です。高速列挙は、OS X v10.5 以降、および iOS 2.0 以降で利用可能です。


利用可能

OS X v10.0 以降で利用可能。

以下も見よ

allKeys

- allKeysForObject:

- getObjects:andKeys:

nextObject (NSEnumerator)





- objectEnumerator


辞書内の各値にアクセスすることができる列挙子オブジェクトを返します。


宣言

<< SWIFT >>

func objectEnumerator() -> NSEnumerator

<< OBJECTIVE-C >>
- (NSEnumerator<ObjectType> *)objectEnumerator


戻り値

辞書内の各値にアクセスすることができる列挙子オブジェクト。


議論

以下のコードで、メソッドの使用方法を示します。



  1. NSEnumerator *enumerator = [myDictionary objectEnumerator];
  2. id value;
  3. while ((value = [enumerator nextObject])) {
  4.         /* code that acts on the dictionary’s values */
  5. }


NSDictionary の可変のサブクラスのインスタンスでこのメソッドを使用する場合、コードは列挙中にエントリを変更すべきではありません。エントリを変更しようとする場合は、辞書の値の"スナップショット" を作成するために allValues ​​メソッドを使用して下さい。値を変更するには、このスナップショットから作業して下さい。


特別な考慮事項

高速列挙プロトコルを使用する方が効率的です(NSFastEnumeration を参照のこと)。高速列挙は、OS X v10.5 以降か、iOS 2.0 以降で利用可能です。


利用可能

OS X v10.0 以降で利用可能。


以下も見よ

- keyEnumerator

nextObject (NSEnumerator)





- enumerateKeysAndObjectsUsingBlock:


辞書のエントリに、与えられたブロックオブジェクトを適用します。


宣言

<< SWIFT >>

- (void)enumerateKeysAndObjectsUsingBlock:(void (^)(id key, id obj, BOOL *stop))block


func enumerateKeysAndObjectsUsingBlock(_ block: (AnyObject,
                                                AnyObject,
                                                UnsafeMutablePointer<ObjCBool>) -> Void)

<< OBJECTIVE-C >>
- (void)enumerateKeysAndObjectsUsingBlock:(void (^)(KeyType key,
                                            ObjectType obj,
                                            BOOL *stop))block


パラメータ

block辞書内のエントリを操作するためのブロックオブジェクト。

議論

ブロックが *stopYES に設定した場合、列挙は停止します。


利用可能

OS X v10.6 以降で利用可能。


以下も見よ

- enumerateKeysAndObjectsWithOptions:usingBlock:





- enumerateKeysAndObjectsWithOptions:usingBlock:


辞書のエントリに、与えられたブロックオブジェクトを適用します。


宣言

<< SWIFT >>

func enumerateKeysAndObjectsWithOptions(_ opts: NSEnumerationOptions,
                             usingBlock block: (AnyObject,
                                                 AnyObject,
                                                 UnsafeMutablePointer<ObjCBool>) -> Void)

<< OBJECTIVE-C >>
- (void)enumerateKeysAndObjectsWithOptions:(NSEnumerationOptions)opts
                                usingBlock:(void (^)(KeyType key,
                                                     ObjectType obj,
                                                     BOOL *stop))block


パラメータ

opts列挙のオプション。
block辞書内のエントリを操作するためのブロックオブジェクト。

議論

ブロックが *stopYES に設定した場合、列挙は停止します。


利用可能

OS X v10.6 以降で利用可能。


以下も見よ

- enumerateKeysAndObjectsUsingBlock:





辞書の並べ替え


- keysSortedByValueUsingSelector:


辞書が、その値でソートした場合の順序で、辞書のキーの配列を返します。


宣言

<< SWIFT >>

func keysSortedByValueUsingSelector(_ comparator: Selector) -> [AnyObject]

<< OBJECTIVE-C >>
- (NSArray<KeyType> *)keysSortedByValueUsingSelector:(SEL)comparator


パラメータ

comparator辞書内の値を比較するために使用するメソッドを指定するセレクタ。
辞書の値が引数より小さい場合、comparator メソッドは NSOrderedAscending を返し、辞書の値が引数よりも大きい場合は NSOrderedDescending を返し、もし両者が等しければ NSOrderedSame を返します。

戻り値

辞書が、その値でソートした時の順番で、辞書のキーの配列。


議論

辞書の値のペアは、comparator で指定された比較メソッドを使用して比較されます。comparator メッセージは、値のいずれか1つに送信され、辞書からの他の値を、その1つの引数として有しています。


利用可能

OS X v10.6 以降で利用可能。


以下も見よ

allKeys

sortedArrayUsingSelector:(NSArray)





- keysSortedByValueUsingComparator:


辞書が与えられたコンパレータブロックを使用して、その値でソートした時の順序で、辞書のキーの配列を返します。


宣言

<< SWIFT >>

func keysSortedByValueUsingComparator(_ cmptr: NSComparator) -> [AnyObject]

<< OBJECTIVE-C >>
- (NSArray<KeyType> *)keysSortedByValueUsingComparator:(NSComparator)cmptr


パラメータ

cmptrコンパレーターブロック。

戻り値

cmptr を使用して、辞書がその値でソートされた場合になる順序で、辞書のキーの配列。


利用可能

OS X v10.6 以降で利用可能。


以下も見よ

- keysSortedByValueWithOptions:usingComparator:





- keysSortedByValueWithOptions:usingComparator:


与えられたコンパレータブロックとオプションの指定されたセットを使用して、その値で辞書をソートした場合の順序で、辞書のキーの配列を返します。


宣言

<< SWIFT >>

func keysSortedByValueWithOptions(_ opts: NSSortOptions,
                  usingComparator cmptr: NSComparator) -> [AnyObject]

<< OBJECTIVE-C >>
- (NSArray<KeyType> *)keysSortedByValueWithOptions:(NSSortOptions)opts
                                   usingComparator:(NSComparator)cmptr


パラメータ

opts並べ替え(sort)オプションのビットマスク。
cmptrcomparator のブロック。

戻り値

opts に与えられたオプションで cmptr を使用して、その値で辞書をソートした場合の順序で、辞書のキーの配列。


利用可能

OS X v10.6 以降で利用可能。


以下も見よ

- keysSortedByValueUsingComparator:





辞書にフィルターをかける


- keysOfEntriesPassingTest:


ブロックオブジェクトによって記述される制約を満たす、対応する値のキーのセットを返します。


宣言

<< SWIFT >>

func keysOfEntriesPassingTest(_ predicate: (AnyObject,
                                         AnyObject,
                                         UnsafeMutablePointer<ObjCBool>) -> Bool) -> Set<NSObject>

<< OBJECTIVE-C >>
- (NSSet<KeyType> *)keysOfEntriesPassingTest:(BOOL (^)(KeyType key,
                                   ObjectType obj,
                                   BOOL *stop))predicate


パラメータ

predicate辞書内の値の制約を指定するブロックオブジェクト。

戻り値

predicate を満たす対応する値のキーのセット。


利用可能

OS X v10.6 以降で利用可能。


以下も見よ

- enumerateKeysAndObjectsUsingBlock:





- keysOfEntriesWithOptions:passingTest:


ブロックオブジェクトによって記述される制約を満たす対応する値のキーのセットを返します。


宣言

<< SWIFT >>

func keysOfEntriesWithOptions(_ opts: NSEnumerationOptions,
                    passingTest predicate: (AnyObject,
                                         AnyObject,
                                         UnsafeMutablePointer<ObjCBool>) -> Bool) -> Set<NSObject>

<< OBJECTIVE-C >>
- (NSSet<KeyType> *)keysOfEntriesWithOptions:(NSEnumerationOptions)opts
                                 passingTest:(BOOL (^)(KeyType key,
                                                       ObjectType obj,
                                                       BOOL *stop))predicate


パラメータ

opts列挙オプションのビットマスク。
predicate辞書内の値の制約を指定するブロックオブジェクト。

戻り値

predicate を満たす対応する値のキーのセット。


利用可能

OS X v10.6 以降で利用可能。


以下も見よ

- enumerateKeysAndObjectsWithOptions:usingBlock:





辞書を保存する


- writeToFile:atomically:


与られたパスに辞書の内容のプロパティリスト表現を書き込みます。


宣言

func writeToFile(_ path: String,
      atomically useAuxiliaryFile: Bool) -> Bool

<< OBJECTIVE-C >>
- (BOOL)writeToFile:(NSString *)path
         atomically:(BOOL)flag


パラメータ

pathファイルを書き込むべきパス。
path がチルダ(~)文字を含んでいる場合は、このメソッドを呼び出す前に stringByExpandingTildeInPath でそれを展開する必要があります。
flagファイルを膨大に書き込むかどうかを指定するフラグ。
もし flagYES であれば、辞書は補助ファイルに書き込まれ、その後、補助ファイルの名前は、path に変更されます。もし flagNO であれば、辞書は、直接 path に書き込まれます。YES オプションは、それがまったく存在している場合、書き込み中にシステムがクラッシュした場合でも、破損している可能性はなく、その path を保証します。

戻り値

もしファイルが正常に書き込まれた場合は YES、そうでなければ NO


議論

このメソッドは、すべての含まれているオブジェクトは、ファイルを書き出す前に、プロパティリストオブジェクト(NSData、NSDate、NSNumber、NSString、NSArray、または NSDictionary のインスタンス) であることを再帰的に検証し、すべてのオブジェクトがプロパティリストオブジェクトでない場合は、NO を返しますので、結果ファイルは、有効なプロパティリストではないでしょう。


もし辞書の内容が、すべてプロパティリストオブジェクトである場合、このメソッドで書き込まれたファイルは、クラスメソッド dictionaryWithContentsOfFile: またはインスタンスメソッド initWithContentsOfFile: で新しい辞書を初期化するために使用できます。


プロパティリストの詳細については、プロパティリストプログラミングガイド を参照してください。


利用可能

OS X v10.0 以降で利用可能。





- writeToURL:atomically:


与えられた URL に辞書の内容のプロパティリスト表現を書き込みます。


宣言

<< SWIFT >>

func writeToURL(_ url: NSURL,
     atomically atomically: Bool) -> Bool

<< OBJECTIVE-C >>
- (BOOL)writeToURL:(NSURL *)aURL
        atomically:(BOOL)flag


パラメータ

aURL辞書をどこへ書き込むべきかの URL。
flag出力を膨大に書き込むかどうかを指定するフラグ。
もし flagYES の場合、辞書は補助の位置に書き込まれた後、補助位置の名前は aURL に変更されます。flagNO の場合、辞書は aURL に直接書き込まれます。YES オプションは、それがすべて存在している場合、書き込み中にシステムがクラッシュした場合でも aURL は、破損している可能性がないことを保証します。aURL が膨大に書き込むことができないタイプである場合は、flag は無視されます。

戻り値

場所が正常に書き込まれた場合 YES、そうでなければ NO


議論

このメソッドは、すべての含まれているオブジェクトは、ファイルを書き出す前に、プロパティリストオブジェクト(NSData、NSDate、NSNumber、NSString、NSArray、または NSDictionary のインスタンス)であることを再帰的に検証し、すべてのオブジェクトがプロパティリストオブジェクトでない場合は、NO を返しますので、結果の出力は、有効なプロパティリストではないでしょう。


もし辞書の内容が、すべてプロパティリストオブジェクトである場合、このメソッドで書き込まれた位置はクラスメソッド dictionaryWithContentsOfURL: またはインスタンスメソッド initWithContentsOfURL: で新しい辞書を初期化するために使用できます。


プロパティリストの詳細については、プロパティリストプログラミングガイド を参照してください。


利用可能

OS X v10.0 以降で利用可能。





ファイル属性へのアクセス


- fileCreationDate


NSFileCreationDate キーの値を返します。


宣言

<< SWIFT >>

func fileCreationDate() -> NSDate?

<< OBJECTIVE-C >>
- (NSDate *)fileCreationDate


戻り値

NSFileCreationDate キーの値、または辞書がキーのエントリを持っていない場合、nil


利用可能

OS X v10.2 以降で利用可能。





- fileExtensionHidden


NSFileExtensionHidden キーの値を返します。


宣言

<< SWIFT >>

func fileExtensionHidden() -> Bool

<< OBJECTIVE-C >>
- (BOOL)fileExtensionHidden


戻り値

NSFileExtensionHidden キーの値、または辞書がキーのエントリを持っていない場合 NO


利用可能

OS X v10.2 以降で利用可能。





- fileGroupOwnerAccountID


NSFileGroupOwnerAccountID キーの値を返します。


宣言

<< SWIFT >>

func fileGroupOwnerAccountID() -> NSNumber?

<< OBJECTIVE-C >>
- (NSNumber *)fileGroupOwnerAccountID


戻り値

NSFileGroupOwnerAccountID キーの値、または辞書がキーのエントリを持っていない場合 nil


利用可能

OS X v10.2 以降で利用可能。





- fileGroupOwnerAccountName


NSFileGroupOwnerAccountName キーの値を返します。


宣言

<< SWIFT >>

func fileGroupOwnerAccountName() -> String?

<< OBJECTIVE-C >>
- (NSString *)fileGroupOwnerAccountName


戻り値

キー NSFileGroupOwnerAccountName の値、または辞書がキーのエントリを持っていない場合 nil


議論

これと他の file... で始まるメソッドは、辞書と共に使われ、fileAttributesAtPath:traverseLink:(NSFileManager) や、directoryAttributes(NSDirectoryEnumerator)、および fileAttributes(NSDirectoryEnumerator) のようなメソッドから返されるようなものであり、ファイルまたはディレクトリの POSIX の属性を表しています。このメソッドは、対応するファイルのグループ名を返します。


利用可能

OS X v10.0 以降で利用可能。





- fileHFSCreatorCode


NSFileHFSCreatorCode キーの値を返します。


宣言

<< SWIFT >>

func fileHFSCreatorCode() -> OSType

<< OBJECTIVE-C >>
- (OSType)fileHFSCreatorCode


戻り値

NSFileHFSCreatorCode キーの値、または辞書がキーのエントリを持っていない場合 0


議論

OSType データ·タイプの詳細は、"HFS ファイルタイプ" を参照してください。


利用可能

OS X v10.1 以降で利用可能。





- fileHFSTypeCode


NSFileHFSTypeCode キーの値を返します。


宣言

<< SWIFT >>

func fileHFSTypeCode() -> OSType

<< OBJECTIVE-C >>
- (OSType)fileHFSTypeCode


戻り値

NSFileHFSTypeCode キーの値、または辞書がキーのエントリを持っていない場合 0


議論

OSType データ·タイプの詳細は、"HFS ファイルタイプ" を参照してください。


利用可能

OS X v10.1 以降で利用可能。





- fileIsAppendOnly


NSFileAppendOnly キーの値を返します。


宣言

<< SWIFT >>

func fileIsAppendOnly() -> Bool

<< OBJECTIVE-C >>
- (BOOL)fileIsAppendOnly


戻り値

NSFileAppendOnly キーの値、または辞書がキーのエントリを持っていない場合 NO


利用可能

OS X v10.2 以降で利用可能。





- fileIsImmutable


NSFileImmutable キーの値を返します。


宣言

<< SWIFT >>

func fileIsImmutable() -> Bool

<< OBJECTIVE-C >>
- (BOOL)fileIsImmutable


戻り値

>NSFileImmutable キーの値、または辞書がキーのエントリを持っていない場合 NO


議論

これと他の file... で始まるメソッドは、辞書と共に使われ、fileAttributesAtPath:traverseLink:(NSFileManager)directoryAttributes(NSDirectoryEnumerator)、および fileAttributes(NSDirectoryEnumerator) のようなメソッドから返すもののように、ファイルまたはディレクトリの POSIX 属性を表します。


利用可能

OS X v10.2 以降で利用可能。





- fileModificationDate


キー NSFileModificationDate の値を返します。


宣言

<< SWIFT >>

func fileModificationDate() -> NSDate?

<< OBJECTIVE-C >>
- (NSDate *)fileModificationDate


戻り値

キー NSFileModificationDate の値、または辞書がキーのエントリを持っていない場合は nil


議論

これと他の file... で始まるメソッドは、辞書と共に使われ、fileAttributesAtPath:traverseLink:(NSFileManager)directoryAttributes(NSDirectoryEnumerator)、および fileAttributes(NSDirectoryEnumerator) のようなメソッドからの戻り値と使用し、ファイルまたはディレクトリの POSIX 属性を表しています。このメソッドは、ファイルのデータが最後に変更された日付を返します。


利用可能

OS X v10.0 以降で利用可能。





- fileOwnerAccountID


NSFileOwnerAccountID キーの値を返します。


宣言

<< SWIFT >>

func fileOwnerAccountID() -> NSNumber?

<< OBJECTIVE-C >>
- (NSNumber *)fileOwnerAccountID


戻り値

NSFileOwnerAccountID キーの値または、辞書がキーのエントリを持っていない場合 nil


これと他の file... で始まるメソッドは、辞書と共に使われ、fileAttributesAtPath:traverseLink:(NSFileManager)directoryAttributes(NSDirectoryEnumerator)、および fileAttributes(NSDirectoryEnumerator) のようなメソッドからの戻り値と使用し、ファイルまたはディレクトリの POSIX 属性を表しています。このメソッドは、ファイルの所有者のアカウント名を返します。


利用可能

OS X v10.2 以降で利用可能。





- fileOwnerAccountName


キー NSFileOwnerAccountName の値を返します。


宣言

<< SWIFT >>

func fileOwnerAccountName() -> String?

<< OBJECTIVE-C >>
- (NSString *)fileOwnerAccountName


戻り値

キー NSFileOwnerAccountName の値、または辞書がキーのエントリを持っていない場合は nil


議論

これと他の file... で始まるメソッドは、辞書と共に使われ、fileAttributesAtPath:traverseLink:(NSFileManager)directoryAttributes(NSDirectoryEnumerator)、および fileAttributes(NSDirectoryEnumerator) のようなメソッドから返されたもののように、ファイルまたはディレクトリの POSIX 属性を表しています。このメソッドは、ファイルの所有者のアカウント名を返します。


利用可能

OS X v10.0 以降で利用可能。





- filePosixPermissions


キー NSFilePosixPermissions の値を返します。


宣言

<< SWIFT >>

func filePosixPermissions() -> Int

<< OBJECTIVE-C >>
- (NSUInteger)filePosixPermissions


戻り値

unsigned long としての値、キー NSFilePosixPermissions の値、または辞書が、キーのエントリを持っていない場合 0


議論

これと他の file... で始まるメソッドは、辞書と共に使われ、fileAttributesAtPath:traverseLink:(NSFileManager)directoryAttributes(NSDirectoryEnumerator)、および fileAttributes(NSDirectoryEnumerator) のようなメソッドから返されたもののような、ファイルまたはディレクトリの POSIX 属性を表しています。このメソッドは、ファイルの権限を返します。


利用可能

OS X v10.0 以降で利用可能。





- fileSize


キー NSFileSize の値を返します。


宣言

<< SWIFT >>

func fileSize() -> UInt64

<< OBJECTIVE-C >>
- (unsigned long long)fileSize


戻り値

unsigned long long としての、キー NSFileSize の値、または辞書が、キーのエントリを持っていない場合 0


議論

これと他の file... で始まるメソッドは、辞書と共に使われ、fileAttributesAtPath:traverseLink:(NSFileManager)directoryAttributes(NSDirectoryEnumerator)、および fileAttributes(NSDirectoryEnumerator) のようなメソッドからの戻り値、ファイルまたはディレクトリの POSIX 属性を表しています。このメソッドは、ファイルのサイズを返します。


特別な考慮事項

ファイルがリソースフォークを持っている場合、戻り値はリソースフォークのサイズを含み ません


利用可能

OS X v10.0 以降で利用可能。





fileSystemFileNumber


キー NSFileSystemFileNumber の値を返します。


宣言

<< SWIFT >>

func fileSystemFileNumber() -> Int

<< OBJECTIVE-C >>
- (NSUInteger)fileSystemFileNumber


値は、unsigned long として、NSFileSystemFileNumber の値、または辞書が、キーのエントリを持っていない場合 0


議論

これと他の file... で始まるメソッドは、辞書と共に使われ、fileAttributesAtPath:traverseLink:(NSFileManager)directoryAttributes(NSDirectoryEnumerator)、および fileAttributes(NSDirectoryEnumerator) のようなメソッドからの戻り値、ファイルまたはディレクトリの POSIX 属性を表します。このメソッドは、ファイルの inode を返します。


利用可能

OS X v10.0 以降で利用可能。





- fileSystemNumber


キー NSFileSystemNumber の値を返します。


宣言

<< SWIFT >>

func fileSystemNumber() -> Int

<< OBJECTIVE-C >>
- (NSInteger)fileSystemNumber


戻り値

値は、unsigned long として、キー NSFileSystemNumber の値、または辞書が、キーのエントリを持っていない場合 0


議論

これと他の file... で始まるメソッドは、辞書と共に使われ、fileAttributesAtPath:traverseLink:(NSFileManager)directoryAttributes(NSDirectoryEnumerator)、および fileAttributes(NSDirectoryEnumerator) のようなメソッドから返されたもののように、ファイルまたはディレクトリの POSIX 属性を表します。このメソッドは、ファイルを含むデバイスの ID を返します。


利用可能

OS X v10.0 以降で利用可能。





- fileType


キー NSFileType の値を返します。


宣言

<< SWIFT >>

func fileType() -> String?

<< OBJECTIVE-C >>
- (NSString *)fileType


戻り値

キー NSFileType の値、または辞書がキーのエントリを持っていない場合は nil


議論

これと他の file... で始まるメソッドは、辞書と共に使われ、fileAttributesAtPath:traverseLink:(NSFileManager)directoryAttributes(NSDirectoryEnumerator)、および fileAttributes(NSDirectoryEnumerator) のようなメソッドから返されたもののような、ファイルまたはディレクトリの POSIX 属性を表します。このメソッドは、ファイルのタイプを返します。可能な戻り値は、NSFileManager の"定数" の項で説明します。


利用可能

OS X v10.0 以降で利用可能。





記述(Description)の作成


description プロパティ


プロパティリストとしてフォーマットされた、辞書の内容を表す文字列(読み取り専用)。


宣言

<< SWIFT >>

var description: String { get }

<< OBJECTIVE-C >>
@property(readonly, copy) NSString *description


議論

辞書内の各キーが NSString のオブジェクトである場合、エントリはキーの昇順でリストされており、そうでない場合、その中にエントリがリストアップされている順序は定義されていなません。このプロパティは、データをシリアル化するためではなく、デバッグ目的で読み取り可能な出力を生成することを意図しています。後の検索のため辞書データを保存したい場合は、プロパティリストプログラミング·ガイド および アーカイブとシリアル化プログラミング·ガイドを参照してください。


利用可能

OS X v10.0 以降で利用可能。





descriptionInStringsFileFormat プロパティ


.strings のファイル形式でフォーマットされた、辞書の内容を表す文字列(読み取り専用)。


宣言

<< SWIFT >>

var descriptionInStringsFileFormat: String { get }

<< OBJECTIVE-C >>
@property(readonly, copy) NSString *descriptionInStringsFileFormat


議論

エントリがリストされる順序は定義されていません。


利用可能

OS X v10.0 以降で利用可能。





- descriptionWithLocale:


プロパティリストとしてフォーマットされた、辞書の内容を表す文字列のオブジェクトを返します。


宣言

func descriptionWithLocale(_ locale: AnyObject?) -> String

<< OBJECTIVE-C >>
- (NSString *)descriptionWithLocale:(id)locale


パラメータ

locale辞書のキー値のそれぞれのフォーマットに使用するオプションを指定するオブジェクト。それらをフォーマットしたくない場合は nil を渡します。
iOS とOS X v10.5 以降では、NSDictionary のインスタンスまたは NSLocale オブジェクトのいずれかが、locale のために使用されるかもしれません。OS X v10.4 以前では、それは NSDictionary のインスタンスでなければなりません。

議論

ロケールが辞書内の各要素に適用される方法の説明については、descriptionWithLocale:indent を参照してください。


辞書内の各キーが compare: に応答した場合、エントリは、キーの昇順でリストされ、そうでなければ、エントリがリストされる順序は定義されていません。


利用可能

OS X v10.0 以降で利用可能。


以下も見よ

description

- descriptionWithLocale:indent:





- descriptionWithLocale:indent:


プロパティリストとしてフォーマットされた、辞書の内容を表す文字列のオブジェクトを返します。


宣言

<< SWIFT >>

func descriptionWithLocale(_ locale: AnyObject?,
                    indent level: Int) -> String

<< OBJECTIVE-C >>
- (NSString *)descriptionWithLocale:(id)locale
                             indent:(NSUInteger)level


パラメータ

locale辞書のキー値のそれぞれのフォーマットに使用するオプションを指定するオブジェクト。それらをフォーマットしたくない場合は nil を渡します。
iOS と OS X v10.5 以降では、NSDictionary のインスタンスまたは NSLocale オブジェクトのいずれかが、locale のために使用されます。OS X v10.4 以前では、それは NSDictionary のインスタンスでなければなりません。
level出力を読みやすくするためにインデントのレベルを指定します:インデントは(4つのスペース)* level です。

戻り値

プロパティリストとしてフォーマットされた、辞書の内容を表す文字列オブジェクト。


議論

返された NSString オブジェクトは、辞書の各エントリの文字列表現を含んでいます。 descriptionWithLocale:indent: は、次のように与えられたキーまたは値の文字列表現を取得します。



辞書内の各キーが compare: に応答する場合、エントリはキーによって、昇順でリストされます。それ以外の場合は、エントリがリストされる順序は定義されていません。


利用可能

OS X v10.0 以降で利用可能。


以下も見よ

description

- descriptionWithLocale:






次の章
目次
Xcode の新機能

NSObject(class)

  • NSDictionary
  • 概観
  • サブクラス化の注意事項
  • オーバーライドするメソッド
    サブクラス化の代替手段
  • タスク
  • 辞書作成
  • dictionary
    dictionaryWithContentsOfFile:
    dictionaryWithContentsOfURL:
    dictionaryWithDictionary:
    dictionaryWithObject:forKey:
    dictionaryWithObjects:forKeys:
    dictionaryWithObjects:forKeys:count:
    dictionaryWithObjectsAndKeys:
  • NSDictionary インスタンスの初期化
  • init 指定イニシャライザ
    initWithContentsOfFile:
    initWithContentsOfURL:
    initWithDictionary:
    initWithDictionary:copyItems:
    initWithObjects:forKeys:
    initWithObjects:forKeys:count: 指定イニシャライザ
    initWithObjectsAndKeys:
  • 共有鍵で最適化された辞書用キーセットの作成
  • sharedKeySetForKeys:
  • エントリを数える
  • count プロパティ
  • 辞書の比較
  • isEqualToDictionary:
  • キー値へのアクセス
  • allKeys プロパティ
    allKeysForObject:
    allValues プロパティ
    getObjects:andKeys:
    objectForKey:.
    objectForKeyedSubscript:
    objectsForKeys:notFoundMarker:
    valueForKey:
  • 列挙型の辞書
  • keyEnumerator
    objectEnumerator
    enumerateKeysAndObjectsUsingBlock:
    enumerateKeysAndObjectsWithOptions: usingBlock:
  • 辞書の並べ替え
  • keysSortedByValueUsingSelector:
    keysSortedByValueUsingComparator:
    keysSortedByValueWithOptions: usingComparator:
  • 辞書にフィルターをかける
  • keysOfEntriesPassingTest:
    keysOfEntriesWithOptions:passingTest:
  • 辞書を保存する
  • writeToFile:atomically:
    writeToURL:atomically:
  • ファイル属性へのアクセス
  • fileCreationDate
    fileExtensionHidden
    fileGroupOwnerAccountID
    fileGroupOwnerAccountName
    fileHFSCreatorCode
    fileHFSTypeCode
    fileIsAppendOnly
    fileIsImmutable
    fileModificationDate
    fileOwnerAccountID
    fileOwnerAccountName
    filePosixPermissions
    fileSize
    fileSystemFileNumber
    fileSystemNumber
    fileType
  • 記述(Description)の作成
  • description
    descriptionInStringsFileFormat
    descriptionWithLocale:
    descriptionWithLocale:indent:
    文書改定履歴












    トップへ(NSDictionary)












    トップへ(NSDictionary)












    トップへ(NSDictionary)












    トップへ(NSDictionary)












    トップへ(NSDictionary)












    トップへ(NSDictionary)












    トップへ(NSDictionary)












    トップへ(NSDictionary)












    トップへ(NSDictionary)












    トップへ(NSDictionary)












    トップへ(NSDictionary)












    トップへ(NSDictionary)












    トップへ(NSDictionary)












    トップへ(NSDictionary)












    トップへ(NSDictionary)












    トップへ(NSDictionary)












    トップへ(NSDictionary)












    トップへ(NSDictionary)












    トップへ(NSDictionary)












    トップへ(NSDictionary)












    トップへ(NSDictionary)












    トップへ(NSDictionary)












    トップへ(NSDictionary)












    トップへ(NSDictionary)












    トップへ(NSDictionary)












    トップへ(NSDictionary)












    トップへ(NSDictionary)












    トップへ(NSDictionary)












    トップへ(NSDictionary)












    トップへ(NSDictionary)












    トップへ(NSDictionary)












    トップへ(NSDictionary)












    トップへ(NSDictionary)












    トップへ(NSDictionary)












    トップへ(NSDictionary)












    トップへ(NSDictionary)












    トップへ(NSDictionary)












    トップへ(NSDictionary)












    トップへ(NSDictionary)












    トップへ(NSDictionary)












    トップへ(NSDictionary)












    トップへ(NSDictionary)












    トップへ(NSDictionary)












    トップへ(NSDictionary)












    トップへ(NSDictionary)












    トップへ(NSDictionary)












    トップへ(NSDictionary)












    トップへ(NSDictionary)












    トップへ(NSDictionary)












    トップへ(NSDictionary)












    トップへ(NSDictionary)












    トップへ(NSDictionary)












    トップへ(NSDictionary)












    トップへ(NSDictionary)












    トップへ(NSDictionary)












    トップへ(NSDictionary)












    トップへ(NSDictionary)












    トップへ(NSDictionary)












    トップへ(NSDictionary)












    トップへ(NSDictionary)












    トップへ(NSDictionary)












    トップへ(NSDictionary)












    トップへ(NSDictionary)












    トップへ(NSDictionary)












    トップへ(NSDictionary)












    トップへ(NSDictionary)












    トップへ(NSDictionary)












    トップへ(NSDictionary)












    トップへ(NSDictionary)












    トップへ(NSDictionary)












    トップへ(NSDictionary)












    トップへ(NSDictionary)












    トップへ(NSDictionary)












    トップへ(NSDictionary)












    トップへ(NSDictionary)












    トップへ(NSDictionary)












    トップへ(NSDictionary)












    トップへ(NSDictionary)












    トップへ(NSDictionary)












    トップへ(NSDictionary)












    トップへ(NSDictionary)












    トップへ(NSDictionary)












    トップへ(NSDictionary)












    トップへ(NSDictionary)












    トップへ(NSDictionary)












    トップへ(NSDictionary)












    トップへ(NSDictionary)












    トップへ(NSDictionary)












    トップへ(NSDictionary)












    トップへ(NSDictionary)












    トップへ(NSDictionary)












    トップへ(NSDictionary)












    トップへ(NSDictionary)












    トップへ(NSDictionary)












    トップへ(NSDictionary)












    トップへ(NSDictionary)












    トップへ(NSDictionary)












    トップへ(NSDictionary)












    トップへ(NSDictionary)












    トップへ(NSDictionary)












    トップへ(NSDictionary)












    トップへ(NSDictionary)












    トップへ(NSDictionary)












    トップへ(NSDictionary)












    トップへ(NSDictionary)












    トップへ(NSDictionary)












    トップへ(NSDictionary)












    トップへ(NSDictionary)












    トップへ(NSDictionary)












    トップへ(NSDictionary)












    トップへ(NSDictionary)












    トップへ(NSDictionary)












    トップへ(NSDictionary)












    トップへ(NSDictionary)












    トップへ(NSDictionary)












    トップへ(NSDictionary)












    トップへ(NSDictionary)












    トップへ(NSDictionary)












    トップへ(NSDictionary)












    トップへ(NSDictionary)












    トップへ(NSDictionary)












    トップへ(NSDictionary)












    トップへ(NSDictionary)












    トップへ(NSDictionary)












    トップへ(NSDictionary)












    トップへ(NSDictionary)












    トップへ(NSDictionary)












    トップへ(NSDictionary)












    トップへ(NSDictionary)












    トップへ(NSDictionary)












    トップへ(NSDictionary)












    トップへ(NSDictionary)












    トップへ(NSDictionary)












    トップへ(NSDictionary)












    トップへ(NSDictionary)












    トップへ(NSDictionary)












    トップへ(NSDictionary)












    トップへ(NSDictionary)












    トップへ(NSDictionary)












    トップへ(NSDictionary)












    トップへ(NSDictionary)












    トップへ(NSDictionary)












    トップへ(NSDictionary)












    トップへ(NSDictionary)












    トップへ(NSDictionary)












    トップへ(NSDictionary)












    トップへ(NSDictionary)












    トップへ(NSDictionary)












    トップへ(NSDictionary)












    トップへ(NSDictionary)












    トップへ(NSDictionary)












    トップへ(NSDictionary)












    トップへ(NSDictionary)












    トップへ(NSDictionary)












    トップへ(NSDictionary)












    トップへ(NSDictionary)












    トップへ(NSDictionary)