从另一个类调用该类时出现问题

时间:2010-09-04 10:52:41

标签: iphone

嗨,我是iphone新手,我做的是创建两个名为classA和classB的类。我在classA ViewDidLoad中显示10个拇指,并通过声明函数在classB中添加图像。还添加了图像声音。同时点击拇指它将显示在imageview上。它工作正常。但是在完成声音播放后,我通过创建它的对象来调用classA viewDidLoad。它转到classA但是每次出现问题时它都会显示第一个选定的图像。我怎么能再次打电话给calssA请发一些代码谢谢你。

1 个答案:

答案 0 :(得分:0)

如果我理解你的意思是正确的,那么你是否试图打电话给不同的选择器来显示图像?

我不认为UIKit通过实例化一个类的新实例来调用,而UIImageView是UIKit的一部分。

我总是这样做的方法是定义一个“sharedInstance”。这样做是这样的:

在ClassA的.h文件中,添加以下内容:

+ (ClassA *)sharedInstance;

在ClassB的.h文件中,添加以下内容:

+ (ClassB *)sharedInstance;

然后,在ClassA的.m文件中,添加以下内容:

static ClassA *sharedInstance = nil;

- (id)init 
{
    if (sharedInstance) {
        [self dealloc];
    } else {
        sharedInstance = [super init];
    }

    return sharedInstance;
}

+ (ClassA *)sharedInstance
{
    return sharedInstance ? sharedInstance : [[[self alloc] init] autorelease];
}

..并为ClassB做同样的事。

现在你可以调用不同的选择器而不必实例化ClassA也不用B.不要忘记#import "ClassA.h""ClassB.h"

然后你可以这样调用选择器:[[Class A sharedInstance] doSomething];