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



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

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

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

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

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

使用以下代码:

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

最新更新