创建一个无需对象实例(静态类)即可调用其方法的类



我是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];

最新更新