I was recently looking at some old source code from another company's project and came across the following method definition:
-(double)getDistance :Latitude :Longitude
I understand what the method does, but I've never seen an Objective-C method declared like that... Even if the incoming object's type was unknown, I would expect something more along these lines:
- (double)getDistanceWithLatitude:(id)latitude longitude:(id)longitude
Could somebody give me the nitty gritty details on exactly how -(double)getDistance :Latitude :Longitude "works"?
                        
If omitted, the type defaults to
id. You can do this with the return type as well. It looks horrible in my opinion, and it's not the clearest notation - you should typically avoid using it. It's an ancient, obsolescent heritage.