Selectors are like method names for other languages.
@interface Obj -(void) foo:(int) data withTime:(Time *) t forDuration:(Duration *) d; @end ... Obj *o = ... [o foo:290 withTime: time forDuration: d];
foo:withTime:forDuration would be the selector. When we are linking to/from the method, the method identifier text would be the ranges for foo, withTime, and forDuration. These are three different ranges, a range from the start of foo to the end of forDuration would incorrectly include extra text like the parameters.