【问题标题】:Calling Other Classes' Instance Method from Class Method? (Objective C)从类方法调用其他类的实例方法? (目标 C)
【发布时间】:2012-06-04 05:37:02
【问题描述】:

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

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

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

【问题讨论】:

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


    【解决方案1】:

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

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

    【讨论】:

    • 哇。我不敢相信我做到了……愚蠢的错误。非常感谢。
    【解决方案2】:

    使用下面的代码:

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

    【讨论】:

    • 感谢您的帮助。另一个人提供了一个稍微详细一点的答案,但你的答案也是对的,我很感激。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多