In Objective-C, what's the difference between declaring a variable id versus declaring it NSObject *?

Edit
Report