Type Method 型メソッド

dictionaryWithObjects:forKeys:count:

Creates a dictionary containing a specified number of objects from a C array. C配列からある指定された数のオブジェクトを含んでいる辞書を作成します。

Declaration 宣言

+ (instancetype)dictionaryWithObjects:(ObjectType  _Nonnull const *)objects 
                              forKeys:(id<NSCopying>  _Nonnull const *)keys 
                                count:(NSUInteger)cnt;

Parameters パラメータ

objects

A C array of values for the new dictionary. 新しい辞書のための値いくつかのC配列。

keys

A C array of keys for the new dictionary. Each key is copied (using copyWithZone:; keys must conform to the NSCopying protocol), and the copy is added to the new dictionary. 新しい辞書のためのキーいくつかのC配列。各キーは、コピーされます(copyWithZone:を使って;キーはNSCopyingプロトコルに準拠しなければなりません)、そしてそのコピーが新しい辞書に加えられます。

count

The number of elements to use from the keys and objects arrays. count must not exceed the number of elements in objects or keys. keysobjects配列から使用することになる要素数。countは、objectsまたはkeysの中の要素の数を越えてはなりません。

Discussion 議論

This method steps through the objects and keys arrays, creating entries in the new dictionary as it goes. An NSInvalidArgumentException is raised if a key or value object is nil. このメソッドは、オブジェクトそしてキーの配列それぞれを始めから終わりまで一歩ずつ進みます、それが進むにつれて新しい辞書の中の登録項目を作成します。NSInvalidArgumentExceptionが、あるキーまたは値オブジェクトがnilならば引き起こされます。

The following code fragment illustrates how to create a dictionary that associates the alphabetic characters with their ASCII values: 以下のコード断片は、どのようにアルファベット文字をASCII値と結びつける辞書が作成されるかを図解します。


static const NSInteger N_ENTRIES = 26;
NSDictionary *asciiDict;
NSString *keyArray[N_ENTRIES];
NSNumber *valueArray[N_ENTRIES];
NSInteger i;
 
for (i = 0; i < N_ENTRIES; i++) {
 
    char charValue = 'a' + i;
    keyArray[i] = [NSString stringWithFormat:@"%c", charValue];
    valueArray[i] = [NSNumber numberWithChar:charValue];
}
 
asciiDict = [NSDictionary dictionaryWithObjects:(id *)valueArray
                          forKeys:(id *)keyArray count:N_ENTRIES];

See Also 参照

Creating a Dictionary from Objects and Keys 辞書をオブジェクトとキーから作成する