iphone中的枚举不起作用

时间:2011-02-09 16:26:43

标签: iphone enums

我正在开发一个iphone应用程序,其中我有3个类=>主类,abc类,pqr类。在主视图上,我有imageview,我正在显示图像。当用户触摸主视图上的图像中心时,将按下新视图(取决于下面提到的条件)

a)如果用户来自 abc view 那么 不会推送新视图

b)如果用户来自 pqr视图,那么我 必须推出新观点

我的问题是如何检测哪个视图用户进入主视图。

我创建了一个类,其中我在.h文件中有以下代码

typedef enum {
        abcViewSelected,
        pqrViewSelected
} SelectedViewType;

@interface Enumeration : NSObject {
    SelectedViewType selectedViewType;
}

@property(nonatomic) SelectedViewType selectedViewType;

在。我有文件

@synthesize selectedViewType;

当用户从abcView&中选择表格单元格时pqrView,我推主视图&在didSelectRowAtIndexPath中设置视图类型,如下所示: -

enumObj.selectedViewType = abcViewSelected;

enumObj.selectedViewType = pqrViewSelected;

在主视图的touchBegan方法中,我正在编写通过编写

来选择哪个视图
if(enum.selectedViewType == pqrViewSelected) => push new view 

否则什么都不做。

但这并不适用于&在任何情况下都不会推送新视图。我已经在所有地方导入了所有必需的头文件。

Plz帮助我......提前致谢。

1 个答案:

答案 0 :(得分:1)

问题必须在这一行:

if(enum.selectedViewType = pqrViewSelected)

这里你不比较当前的类型值,而是将pqrViewSelected指定给它(你有'='而不是'==')。尝试将该行更改为:

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

请注意,在比较中将常量表达式作为第一个参数使得不可能错误地使用赋值('=')而不是比较('==')。