NSString- Object type. All types of objects are pointers and cannot be created on the stack. NSRangeis a C-structure. Structures can be created on the stack and, therefore, not all pointers are necessary.
There is no good guide to find out which of them are objects and which are structures. You just need to check each type as you move forward.
source
share