2011-02-09 3 views
0

Я разрабатываю приложение iphone, в котором у меня есть 3 класса => основной класс, класс abc, класс pqr. На главном экране у меня есть изображение, на котором я показываю изображение. когда касание пользователя в центре изображений на главном экране, новый вид будет выталкиваться (в зависимости от состояния указанного ниже)Перечисление в iphone не работает

а) если пользователь пришел из поля зренияаЬса затем нового вида не будет выталкиваться

b) если пользователь пришел от pqr view, то i необходимо нажать новый вид.

Моя проблема заключается в том, как я могу определить, из какого вида пользователь пришел к основному виду.

создать 1 класс, в котором я следующий код в файле .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 help me .... Спасибо заранее.

+1

Если вы ввели вопрос правильно, вы используете '=' вместо '==' для сравнения (плюс, он должен читать 'enumObj.selectedViewType') – pgb

+0

извините друзей, его" == "вместо этого "=". это была моя типизирующая ошибка. Тем не менее его не работает. Если у вас есть другое решение, больше всего приветствуем. спасибо – iOSAppDev

ответ

1

Проблема должна быть в этой строке:

if(enum.selectedViewType = pqrViewSelected) 

Здесь не сравнить текущее значение типа, а присвоить pqrViewSelected к нему (у вас есть «=» вместо «==»). Попробуйте изменить эту строку:

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

Обратите внимание, что наличие постоянного выражения в качестве первого параметра в сравнении делает невозможное использование mistakingly назначения («=») вместо сравнения («==»).

+0

Это перечисление. необходимо? – fabian789

+0

Я думаю, enum - это переменное имя здесь - неправильный выбор имени imo ... – Vladimir

+0

@ Vladimir: Если я использую ur-код (pqrViewSelected == enum.selectedViewType), тогда новый вид не будет нажат в любом случае. Я использовал «==». Плз помоги мне с друзьями. заранее спасибо – iOSAppDev

Смежные вопросы