What is the difference between methods that are declared with - and methods that are declared with +
e.g
- (void)methodname
+ (void)methodname
What is the difference between methods that are declared with - and methods that are declared with +
e.g
- (void)methodname
+ (void)methodname
Methods prefixed with - are instance methods. This means they can only be invoked on an instance of a class, eg:
[myStringInstance length];
Methods prefixed with + are class methods. This means they can be called on Classes, without needing an instance, eg:
[NSString stringWithString:@"Hello World"];
minus are instance methods (only accessible via an instantiated object)
plus are class methods (like in Java Math.abs(), you can use it without an instantited object)
According to this page:
Instance methods begin with - and class level methods begin with +
See this SO question for more information.
The first is an instance method and the second is a class method. You should read Apple's Objective-C documentation to learn about the difference.