我是Objective c的新手,我想创建一个包含某些方法的类,这些方法可以在我的任何其他类中调用,主要是辅助方法。即时通讯仍在学习语法,我不知道如何正确地声明它
有点像java Integer.parseInt( );
谢谢!
答案 0 :(得分:6)
objective-c中的静态方法称为“类方法”,可以使用“+”符号声明(而实例方法使用“ - ”),例如:
- (void) instanceMethod;
+ (void) classMethod;
要调用类方法,请使用类名:
[MyClass classMethod];
答案 1 :(得分:4)
这些被称为(不出所料)的类方法。您可以在方法签名中使用+
而不是-
来声明一个,例如
@interface MyInteger : NSObject
+ (MyInteger *)parseInt:(NSString *)str;
@end
然后在类本身上调用此方法,例如[MyInteger parseInt:@"12"]
。
当然,由于这是C,如果你的类方法实际上与任何特定的类没有多少关系,你可以将其定义为C函数。
NSInteger myParseInt(NSString *str);
答案 2 :(得分:2)
当您在方法前面看到-
符号时,它就是一个实例方法。这意味着您只能在类的实例上调用该方法。
如果您想创建一个类方法,您只需将-
更改为+
。
答案 3 :(得分:1)
它们被称为类方法。它们被声明和使用如下:
@interface MONClass : NSObject
+ (NSString *)convertString:(NSString *)string;
@end
正在使用中:
NSString * converted = [MONClass convertString:string];