Scripts/dictionary¶
Using Cocoa collection classes¶
Cocoa contains a number of collection classes, including dictionaries and
arrays (like python lists) in mutable and immutable variations. We’ll
demonstrate their usage using the NSMutableDictonary
class.
We’ll start by importing everything we need:
>>> from Foundation import NSMutableDictionary
Then create an empty dictionary:
>>> d = NSMutableDictionary.dictionary()
>>> d
{
}
>>> isinstance(d, dict)
False
>>> isinstance(d, NSMutableDictionary)
True
You can add a new value using the Objective-C API:
>>> d.setObject_forKey_(42, 'key2')
>>> d
{
key2 = 42;
}
But can also use the familiar python interface:
>>> d['key1'] = 'hello'
>>> d
{
key1 = hello;
key2 = 42;
}
The same is true for fetching elements:
>>> d['key2']
42
>>> d.objectForKey_('key1')
'hello'
Sources¶
#!/usr/bin/env python
# This is a doctest
"""
==============================
Using Cocoa collection classes
==============================
Cocoa contains a number of collection classes, including dictionaries and
arrays (like python lists) in mutable and immutable variations. We'll
demonstrate their usage using the ``NSMutableDictonary`` class.
We'll start by importing everything we need::
>>> from Foundation import NSMutableDictionary
Then create an empty dictionary::
>>> d = NSMutableDictionary.dictionary()
>>> d
{
}
>>> isinstance(d, dict)
False
>>> isinstance(d, NSMutableDictionary)
True
You can add a new value using the Objective-C API::
>>> d.setObject_forKey_(42, 'key2')
>>> d
{
key2 = 42;
}
But can also use the familiar python interface:
>>> d['key1'] = 'hello'
>>> d
{
key1 = hello;
key2 = 42;
}
The same is true for fetching elements::
>>> d['key2']
42
>>> d.objectForKey_('key1')
'hello'
"""
import doctest
import __main__
doctest.testmod(__main__, verbose=1)