我是objective c的新手,我想创建一个包含某些方法的类,这些方法可以在任何其他类中调用,主要是助手方法。我还在学习语法,我不知道如何正确声明它
有点像java的Integer.parseInt( );
谢谢!
objective-c中的静态方法称为'类方法',可以用'+'符号声明(而实例方法用'-'符号声明),例如:
- (void) instanceMethod;
+ (void) classMethod;
调用类方法使用类名:
[MyClass classMethod];
这些被称为(毫不奇怪的)类方法。你可以在方法签名中用+
代替-
来声明一个,例如
@interface MyInteger : NSObject
+ (MyInteger *)parseInt:(NSString *)str;
@end
然后在类本身上调用该方法,例如[MyInteger parseInt:@"12"]
。
当然,由于这是C,如果你的类方法实际上与任何特定的类没有太多的关系,你可以把它定义为一个C函数。
NSInteger myParseInt(NSString *str);
当您在方法前面看到-
标志时,它是一个实例方法。这意味着你只能在类的实例上调用该方法。
如果你想创建一个类方法,你所需要做的就是把-
改成+
。
它们被称为类方法。它们是这样声明和使用的:
@interface MONClass : NSObject
+ (NSString *)convertString:(NSString *)string;
@end
在使用:NSString * converted = [MONClass convertString:string];