I'm new to Objective-C & SO, so bear with me - I've been reading some questions on when to use nil, NULL, or Nil.
My question is: Why do we need so many types of "null"? Can't Xcode (or a similar IDE) interpret what "null" is necessary for the situation?
To clarify, I'm not looking for when to use each - this is clearly explained. For example, why can't Objective-C simply define NULL as nothing, and then just use context to figure out which nothing you needed. I'm quite positive the answer will either be for historical, or necessary purposes (with an example please), or both.
e.g.
NSMutableDictionary *mutableDictionary = [NSMutableDictionary dictionary];
mutableDictionary[@"someKey"] = NULL;
... in this case, the compiler would understand you need a "null" object inserted, & simply add this behind the scenes so the dictionary would behave intuitively (& not just cause an error).