I am using "+ (id)dictionaryWithContentsOfFileNSString *)path" to load contents from a .plist file inside my application bundle. Although the contents are parsed correctly, the keys are unordered. For example, if I give the command "allKeys", I will get an NSArray that contains my dictionary objects inside the .plist file. However, I will get the array with a set of keys with different order than the one I have written in the .plist file. Is that how it is supposed to be? Am I doing something wrong? I am using Property List Editor to make the .plist file.