2010-09-04 84 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];

相關問題