Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.
NSDictionary is a dictionary, though only from the developers perspective, if its more efficient to be stored as a hash table it probably is. Just like NSArray has log(n) access times - it just appears to the developer to be array-like.
 
It's an associative array. It's most likely implemented as a hash table.

If you really care the Core Foundation code is open source and you can download it from Apple. NSDictionary sits on top of CFDictionary.
 
actually I'm less concerned about how it is implemented and more about when i should use it...
 
definition vs. implementation

A hash table is one (moderately efficient) method of implementing associative arrays.

An NSDictionary is specified to behave like an associative array, but the implementation is opaque. The hidden underlying implementation could, for instance, change depending on the size of the array, phase of the moon, & etc.
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.