从类方法调用其他类的实例方法? (目标C)

时间:2012-06-04 05:37:03

标签: iphone objective-c ios class static-methods

我在名为“Item”的类中有以下方法。如您所见,getImage是一个类/静态方法,但我希望它从DIFFERENT类(Item Instance)返回一个实例方法。我不明白为什么它不起作用?

+(UIImage*)getImage:(int)itemNumber {
    UIImage *image = [ItemInstance getImage:itemNumber];
    return image;
}

它告诉我在ItemInstance中找不到类方法+ getImage,但我试图调用实例方法-getImage,而不是类方法+ getImage

2 个答案:

答案 0 :(得分:3)

要调用实例方法,您必须有一个实例:

+ (UIImage*)getImage:(int)itemNumber {
    ItemInstance *anInstance = [[ItemInstance alloc] init];

    UIImage *image = [anInstance getImage:itemNumber];

    return image;
}

答案 1 :(得分:2)

使用以下代码:

+(UIImage*)getImage:(int)itemNumber {
     ItemInstance *obj = [[[ItemInstance alloc]init] autorelease];
     UIImage *image = [obj getImage:itemNumber];
     return image;
}