创建一个类,其方法可以在没有对象实例的情况下调用(静态类)

时间:2011-09-07 21:49:31

标签: iphone objective-c ios

我是Objective c的新手,我想创建一个包含某些方法的类,这些方法可以在我的任何其他类中调用,主要是辅助方法。即时通讯仍在学习语法,我不知道如何正确地声明它

有点像java Integer.parseInt( );

谢谢!

4 个答案:

答案 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];
相关问题