@Hakime, what @atticusalien is what I was getting to.
In general, many of the Objective-C APIs use the untyped NSDictionary to configure various parameters of the API.
There are 475 public APIs in the iOS API that expose NSDictionary as either return values, or parameters. The keys and the values for these configuration parameters usually require a trip to the documentation.
Getting the key wrong will make your software not run. Getting the value of the type wrong might or might not work. It really depends, you can search bug databases and stackoverflow for examples of both typos causing unexpected behavior in your application.