2011-02-09 90 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 
} 

注意,具有在比较恒定表达式作为第一个参数使得不可能错误的使用分配(“=”),而不是比较(“==”)。