Objective C语法问题

时间:2010-08-25 01:57:21

标签: objective-c programming-languages syntax

我看到UIColor类可以像这样调用变量[UIColor redColor]; 我怎样才能写我的课来做同样的事情?另外,我是否可以只为类提供方法,例如:

[MyClass callingMyMethod];

谢谢。

4 个答案:

答案 0 :(得分:2)

是。在声明方法时,只需使用+代替-

+ (void)callingMyMethod
{
   ...
}

答案 1 :(得分:0)

您必须创建一个类方法。类方法的定义与实例方法类似,但具有+而不是-

@interface MyClass : NSObject
+ (id)classMethod;
- (id)instanceMethod;
@end

@implementation MyClass

+ (id)classMethod
{
    return self;    // The class object
}

- (id)instanceMethod
{
    return self;    // An instance of the class
}

请注意,在类方法中,self变量将引用类,而不是类的实例。

答案 2 :(得分:0)

是的,它们是呼叫类消息。在定义消息时使用+代替-

像这样:

@interface MyClass : NSObject 
{

}

+ (void) callingMyMethod;

答案 3 :(得分:0)

使用+代替-。这称为类方法,用于初始化和返回对象。

@interface SomeClass : NSObject
+ (id)callingMyMethod;
- (id)otherMethod;
@end

@implementation SomeClass

+ (id)callingMyMethod
{
    return self;    // The class object
}

- (id)otherMethod
{
    return self;    // An instance of the class
}