我正在开发一个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帮助我......提前致谢。
答案 0 :(得分:1)
问题必须在这一行:
if(enum.selectedViewType = pqrViewSelected)
这里你不比较当前的类型值,而是将pqrViewSelected指定给它(你有'='而不是'==')。尝试将该行更改为:
if(pqrViewSelected == enum.selectedViewType){
// push view
}
请注意,在比较中将常量表达式作为第一个参数使得不可能错误地使用赋值('=')而不是比较('==')。