2011-02-09 87 views
0

我正在開發一個iPhone應用程序,其中我有3個類=>主類,ABC類,PQR類。在主視圖上,我有imageview我正在顯示圖像。當在圖像的上主視圖的中心的用戶觸摸,新的視圖將被推(取決於下面提到條件)在iPhone枚舉不起作用

a)如用戶從ABC視圖然後 新的視圖將不會推來

b)如果用戶來自pqr視圖那麼我 必須推新視圖

我的問題是如何檢測哪個用戶來到主視圖。

我創建在其中我已經在h文件

typedef enum { 
     abcViewSelected, 
     pqrViewSelected 
} SelectedViewType; 

@interface Enumeration : NSObject { 
    SelectedViewType selectedViewType; 
} 

@property(nonatomic) SelectedViewType selectedViewType; 

在下面的代碼1類。米文件我有

@synthesize selectedViewType; 

當從abcView & pqrView用戶選擇表格單元格,我在didSelectRowAtIndexPath方法推動主視圖&設置視圖類型如下: -

enumObj.selectedViewType = abcViewSelected; 

enumObj.selectedViewType = pqrViewSelected; 

在主視圖的touchBegan方法,我比較哪個視圖是通過編寫這個選擇的

if(enum.selectedViewType == pqrViewSelected) => push new view 

其他什麼都不做。

但是,這並不是比較&在任何情況下都不會推新視圖。我已經導入了所有需要的頭文件。

Plz幫助我....在此先感謝。

+1

如果你輸入的問題是正確的,你使用`=`而不是`==`來比較(加上,它應該讀取`enumObj.selectedViewType`) – pgb 2011-02-09 16:31:20

+0

對不起朋友,它的「==」代替的「=」。這是我的打字錯誤。仍然沒有工作。如果你有其他解決方案,最受歡迎。謝謝 – iOSAppDev 2011-02-10 15:34:28

回答

1

的問題必須在這一行:

if(enum.selectedViewType = pqrViewSelected) 

在這裏,你不比較電流類型值,而是分配給pqrViewSelected它(你有「=」而不是「==」)。嘗試改變該行:

if(pqrViewSelected == enum.selectedViewType){ 
    // push view 
} 

注意,具有在比較恆定表達式作爲第一個參數使得不可能錯誤的使用分配(「=」),而不是比較(「==」)。