the order is not defined at all. that is how a set acts and a dictionary is quite close to a sec...
to be sure the order is kept you have use a sortable property and when you get the keys, sort the resulting array
OR use a OrderedDictionary .... there is some implementation of that floating around on google but basically it is only a NSDictionary + an NSArray with the keys being in a stable order
a good one by cocoa heads
https://github.com/davedelong/CHDataStructures/blob/master/source/CHOrderedDictionary.h https://github.com/davedelong/CHDataStructures/blob/master/source/CHOrderedDictionary.m