2010-09-04 85 views
0

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

+0

你可能会需要自己张贴一些代码。 – 2010-09-04 11:13:14

回答

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];

相关问题