The method signature
- (NSString *):name breaks down to the following:-It is an instance method (versus a class method with a+).(NSString *)It returns a string.:If you were to speak the name of this method, it would simply be called "colon".:tells the compiler that your method accepts one parameter as well.nameThere is a parameter called name.
Note: When you don't specify a type, the compiler assumes you meantid, so this method actually fleshes out to be- (NSString *):(id)hello
A valid call to this method would be:
[self :@"hello"].You can do really weird things because
You could, if you really wanted to, have a method called
You'd call it like so:
: is a valid name for a method, and the compiler assumes id.You could, if you really wanted to, have a method called
- (id):::. The compiler would assume you meant - (id):(id):(id):(id), a method that returns an object of type id and takes three parameters of type id.You'd call it like so:
[self :@"hello" :anObject :myObject];Note: Usually, if you see a ':' with no type it will be a case like - (float)addThreeValues : : : This method returns float and takes 3 parameters. This would be an appropriate definition because the three values don't matter what order they are provided because we are just adding them.