A mutable key-value pair collection. More...
Public Member Functions | |
(void) | - addEntriesFromDictionary: [implementation] |
(CPArray) | - allKeys [implementation] |
(CPArray) | - allValues [implementation] |
(BOOL) | - containsKey: [implementation] |
(CPDictionary) | - copy [implementation] |
(int) | - count [implementation] |
(CPString) | - description [implementation] |
(void) | - encodeWithCoder: [implementation] |
(id) | - initWithCoder: [implementation] |
(id) | - initWithDictionary: [implementation] |
(id) | - initWithObjects:forKeys: [implementation] |
(id) | - initWithObjectsAndKeys: [implementation] |
(CPDictionary) | - inverseChangeDictionary [implementation] |
(BOOL) | - isEqual: [implementation] |
(BOOL) | - isEqualToDictionary: [implementation] |
(CPEnumerator) | - keyEnumerator [implementation] |
(CPEnumerator) | - objectEnumerator [implementation] |
(id) | - objectForKey: [implementation] |
(void) | - removeAllObjects [implementation] |
(void) | - removeObjectForKey: [implementation] |
(void) | - removeObjectsForKeys: [implementation] |
(void) | - setObject:forKey: [implementation] |
(void) | - setValue:forKey: [implementation] |
(id) | - valueForKey: [implementation] |
Static Public Member Functions | |
(id) | + dictionary [implementation] |
(id) | + dictionaryWithDictionary: [implementation] |
(id) | + dictionaryWithJSObject: [implementation] |
(id) | + dictionaryWithJSObject:recursively: [implementation] |
(id) | + dictionaryWithObject:forKey: [implementation] |
(id) | + dictionaryWithObjects:forKeys: [implementation] |
(id) | + dictionaryWithObjectsAndKeys: [implementation] |
A mutable key-value pair collection.
A dictionary is the standard way of passing around key-value pairs in the Cappuccino framework. It is similar to the Java map interface, except all keys are CPStrings and values can be any Cappuccino or JavaScript object.
If you are familiar with dictionaries in Cocoa, you'll notice that there is no CPMutableDictionary class. The regular CPDictionary has -setObject
:forKey: and -removeObjectForKey
: methods. In Cappuccino there is no distinction between immutable and mutable classes. They are all mutable.
Definition at line 78 of file CPDictionary.j.
- (void) addEntriesFromDictionary: | (CPDictionary) | aDictionary | [implementation] |
Take all the key/value pairs in aDictionary and apply them to this dictionary.
Definition at line 506 of file CPDictionary.j.
- (CPArray) allKeys | [implementation] |
Returns an array of keys for all the entries in the dictionary.
Definition at line 317 of file CPDictionary.j.
- (CPArray) allValues | [implementation] |
Returns an array of values for all the entries in the dictionary.
Definition at line 325 of file CPDictionary.j.
- (BOOL) containsKey: | (id) | aKey | [implementation] |
Definition at line 530 of file CPDictionary.j.
- (CPDictionary) copy | [implementation] |
return a copy of the receiver (does not deep copy the objects contained in the dictionary).
Definition at line 301 of file CPDictionary.j.
- (int) count | [implementation] |
Returns the number of entries in the dictionary
Definition at line 309 of file CPDictionary.j.
- (CPString) description | [implementation] |
Returns a human readable description of the dictionary.
Definition at line 525 of file CPDictionary.j.
+ (id) dictionary | [implementation] |
Returns a new empty CPDictionary.
Definition at line 93 of file CPDictionary.j.
+ (id) dictionaryWithDictionary: | (CPDictionary) | aDictionary | [implementation] |
Returns a new dictionary, initialized with the contents of aDictionary
.
aDictionary | the dictionary to copy key-value pairs from |
Definition at line 103 of file CPDictionary.j.
+ (id) dictionaryWithJSObject: | (JSObject) | object | [implementation] |
Creates a dictionary with multiple key-value pairs.
JavaScript | object |
Definition at line 136 of file CPDictionary.j.
+ (id) dictionaryWithJSObject: | (JSObject) | object | ||
recursively: | (BOOL) | recursively | ||
[implementation] |
Creates a dictionary with multiple key-value pairs, recursively.
JavaScript | object |
Definition at line 146 of file CPDictionary.j.
+ (id) dictionaryWithObject: | (id) | anObject | ||
forKey: | (id) | aKey | ||
[implementation] |
Creates a new dictionary with single key-value pair.
anObject | the object for the paring | |
aKey | the key for the pairing |
Definition at line 114 of file CPDictionary.j.
Creates a dictionary with multiple key-value pairs.
objects | the objects to place in the dictionary | |
keys | the keys for each of the objects |
CPInvalidArgumentException | if the number of objects and keys is different |
Definition at line 126 of file CPDictionary.j.
+ (id) dictionaryWithObjectsAndKeys: | (id) | firstObject | ||
, | ... | |||
[implementation] |
Creates and returns a dictionary constructed by a given pairs of keys and values.
firstObject | first object value | |
... | key for the first object and ongoing value-key pairs for more objects. |
CPInvalidArgumentException | if the number of objects and keys is different |
Assuming that there's no object retaining in Cappuccino, you can create dictionaries same way as with alloc and initWithObjectsAndKeys: var dict = [CPDictionary dictionaryWithObjectsAndKeys: @"value1", @"key1", @"value2", @"key2"];
Note, that there's no final nil like in Objective-C/Cocoa.
Definition at line 207 of file CPDictionary.j.
- (void) encodeWithCoder: | (CPCoder) | aCoder | [implementation] |
Archives the dictionary to a provided coder.
aCoder | the coder to which the dictionary data will be archived. |
Definition at line 553 of file CPDictionary.j.
- (id) initWithCoder: | (CPCoder) | aCoder | [implementation] |
Definition at line 544 of file CPDictionary.j.
- (id) initWithDictionary: | (CPDictionary) | aDictionary | [implementation] |
Initializes the dictionary with the contents of another dictionary.
aDictionary | the dictionary to copy key-value pairs from |
Definition at line 220 of file CPDictionary.j.
Initializes the dictionary from the arrays of keys and objects.
objects | the objects to put in the dictionary | |
keyArray | the keys for the objects to put in the dictionary |
CPInvalidArgumentException | if the number of objects and keys is different |
Definition at line 238 of file CPDictionary.j.
- (id) initWithObjectsAndKeys: | (id) | firstObject | ||
, | ... | |||
[implementation] |
Creates and returns a dictionary constructed by a given pairs of keys and values.
firstObject | first object value | |
... | key for the first object and ongoing value-key pairs for more objects. |
CPInvalidArgumentException | if the number of objects and keys is different |
You can create dictionaries this way: var dict = [[CPDictionary alloc] initWithObjectsAndKeys: @"value1", @"key1", @"value2", @"key2"];
Note, that there's no final nil like in Objective-C/Cocoa.
Definition at line 270 of file CPDictionary.j.
- (CPDictionary) inverseChangeDictionary | [implementation] |
Definition at line 111 of file CPKeyValueObserving.j.
- (BOOL) isEqual: | (id) | anObject | [implementation] |
Definition at line 385 of file CPDictionary.j.
- (BOOL) isEqualToDictionary: | (CPDictionary) | aDictionary | [implementation] |
Compare the receiver to this dictionary, and return whether or not they are equal.
Definition at line 355 of file CPDictionary.j.
- (CPEnumerator) keyEnumerator | [implementation] |
Returns an enumerator that enumerates over all the dictionary's keys.
Definition at line 339 of file CPDictionary.j.
- (CPEnumerator) objectEnumerator | [implementation] |
Returns an enumerator that enumerates over all the dictionary's values.
Definition at line 347 of file CPDictionary.j.
- (id) objectForKey: | (CPString) | aKey | [implementation] |
Returns the object for the entry with key aKey
.
aKey | the key for the object's entry |
Definition at line 424 of file CPDictionary.j.
- (void) removeAllObjects | [implementation] |
Removes all the entries from the dictionary.
Definition at line 455 of file CPDictionary.j.
- (void) removeObjectForKey: | (id) | aKey | [implementation] |
Removes the entry for the specified key.
aKey | the key of the entry to be removed |
Definition at line 464 of file CPDictionary.j.
- (void) removeObjectsForKeys: | (CPArray) | keysForRemoval | [implementation] |
Removes each entry in allKeys from the receiver.
allKeys | an array of keys that will be removed from the dictionary |
Definition at line 473 of file CPDictionary.j.
- (void) setObject: | (id) | anObject | ||
forKey: | (id) | aKey | ||
[implementation] |
Adds an entry into the dictionary.
anObject | the object for the entry | |
aKey | the entry's key |
Definition at line 498 of file CPDictionary.j.
- (void) setValue: | (id) | aValue | ||
forKey: | (CPString) | aKey | ||
[implementation] |
Definition at line 273 of file CPKeyValueCoding.j.
- (id) valueForKey: | (CPString) | aKey | [implementation] |
Definition at line 268 of file CPKeyValueCoding.j.