Hello Everyone,
What is the difference between "+" and "-" before the function name interface declaration in an Objective-C program. Example:
- (void)continueSpeaking;
+ (NSArray *)availableVoices;
What's the difference?
Hello Everyone,
What is the difference between "+" and "-" before the function name interface declaration in an Objective-C program. Example:
- (void)continueSpeaking;
+ (NSArray *)availableVoices;
What's the difference?
+ defines a class method
Class methods belong to the class itself, not instances of the class.
Example: [ AppDelegate someMethod ] //someMethod is a class method
- defines an instance method
Example [ [ [ UIApplication sharedApplication ] delegate ] someMethod ] // someMethod is an instance method
The best way to describe the difference is that - methods operate on objects, while + methods operate on the class itself.
Say your class was named MyClass, and you created an instance of it by calling alloc/init, and stored it in a variable called myInstance:
- (void)continueSpeaking can be called like this: [ myInstance continueSpeaking ].
However, this method + (NSArray *)availableVoices can only be called like this: [ MyClass availableVoices ].