Difference between "+" and "-" before function name in Objective-C
What is the diffe开发者_如何学Gorence 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]
- defines an instance method
Example [[[UIApplication sharedApplication] delegate] someMethod]
One 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 and stored it into a variable called myInstance:
- (void)continueSpeaking can be called like so: [myInstance continueSpeaking].
However, the method + (NSArray *)availableVoices can only be called like so: [MyClass availableVoices]
加载中,请稍侯......
精彩评论