2012-09-18 41 views
-1

好吧,我在Objective C和一般編程方面有點小菜鳥,但我正在努力學習,所以我會appreviate一些幫助。從其他類調用布爾總是返回false

我正在做幾個班的遊戲。在主菜單屏幕上,我有2個按鈕,非常簡單,並且有一個開始遊戲按鈕。此刻,我已經在類MainView中聲明瞭一個名爲「level」的公共布爾值,然後在硬按鈕操作中將level設置爲true,在簡單按鈕操作中將其設置爲false。在不同的I類已導入MainView.h和方法被稱爲「numberOfCards」我有:

MainView *view = [[MainView alloc]init]; 

if(view->level){ 
    cards = 10; 

} 

else { 
    cards = 20; 
} 

但水平始終返回false,我猜,當我初始化我的MainView,它重置的變量?

我是以錯誤的方式解決這個問題嗎? 任何幫助將是偉大的。

下面有一些更多的代碼:

MainView.h

@interface MainView : UIViewController <HostViewControllerDelegate, JoinViewControllerDelegate, GameViewControllerDelegate> 
{ 

@public 
BOOL level; 

} 

@end 

mainView.m

- (IBAction)easyButton:(id)sender 
{ 

level = NO; 
} 

- (IBAction)hardButton:(id)sender 
{ 
level = YES; 
} 
+0

請分享更多的代碼。 – holex

+0

對不起,我更改了代碼,我的意思是false – user1489334

回答

0

你說,「我猜,當我初始化我的MainView,它重置變量?「

實際上,是的。更具體地說,它創建一個新的對象,它有自己的level變量,並且未初始化的BOOL的默認值爲NO。

您需要將對現有MainView對象的引用傳遞給需要請求級別信息的對象。具體怎麼做取決於你的程序結構以及這兩個類是如何相互關聯的。

+0

有沒有什麼辦法可以給出某種例子? – user1489334

+0

如何/在哪裏創建處理按鈕觸摸的原始'MainView'控制器?什麼創建了包含'numberOfCards'方法的對象? –

+0

MainView是一個類,不知道你是如何或在哪裏創建它的意思。 numberOfCards是一個名爲cards.m的類,它是NSObject的一個子類 – user1489334