Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 创建一个类,该类的方法可以在没有对象实例的情况下调用(静态类)_Iphone_Objective C_Ios - Fatal编程技术网

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

Iphone 创建一个类,该类的方法可以在没有对象实例的情况下调用(静态类),iphone,objective-c,ios,Iphone,Objective C,Ios,我是objective c的新手,我想创建一个包含某些方法的类,这些方法可以在我的任何其他类中调用,主要是helper方法。我还在学习语法,我不知道如何正确地声明它 类似于javaInteger.parseInt() 谢谢 objective-c中的静态方法称为“类方法”,可以用“+”符号声明(而实例方法用“-”符号声明),例如: 要调用类方法,请使用类名: [MyClass classMethod]; 这些被称为类方法(毫不奇怪)。您可以在方法签名中使用+而不是-来声明一个,例如 @inte

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

类似于java
Integer.parseInt()


谢谢

objective-c中的静态方法称为“类方法”,可以用“+”符号声明(而实例方法用“-”符号声明),例如:

要调用类方法,请使用类名:

[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];

当您在方法前面看到一个
-
符号时,它就是一个实例方法。这意味着您只能在类的实例上调用该方法


如果你想创建一个类方法,你所需要做的就是将Obj-C中的
-
更改为
+

,它们被称为类方法,而不是静态方法。
NSString * converted = [MONClass convertString:string];