Ошибка в отображении правильных значений на предыдущих экранах - PullRequest
0 голосов
/ 03 апреля 2012

Я делаю приложение, представляющее собой небольшую головоломку. Я даю краткое описание своего приложения.

1. Он содержит экран «Добавить сведения», в котором я сохранил 10 TextFields, и пользователю необходимо ввести данные в те поля, которые я оставил обязательными. После ввода всех полей пользователю необходимо выбрать одно поле и нажать кнопку «Пуск», которая будут переходить к следующим ярлыкам Screens.

2. Я сохранил 5 экранов, которые содержат ярлыки на всех экранах. Для каждого экрана, если там выбрано поле, выбранное пользователем, он нажимает YES или, если поля пользователя там нет, он нажимает NO.

3.В соответствии с пользователем. Где бы он ни нажимал YES, я использовал логическую переменную через эту логическую переменную. Я корректировал вывод того, что выбрал пользователь.

4. На последнем экране я показываю выбранное пользователем значение в метке.

AppDelegate *delegate = (AppDelegate *)[UIApplication sharedApplication].delegate;

    if (delegate.updateFirstView == NO && delegate.updateSecondView == NO && delegate.updateThirdView ==NO && delegate.updateFourthView == NO && delegate.updateFifthView == NO)
    {
        myLabel.text = @"Wrong Selection";
    }

    else if (delegate.updateFirstView == YES && delegate.updateSecondView == YES && delegate.updateThirdView == YES && delegate.updateFourthView == YES && delegate.updateFifthView == YES)
    {
        myLabel.text = delegate.fifthString;
    }

    else if (delegate.updateFirstView == YES && delegate.updateSecondView == YES && delegate.updateThirdView == YES && delegate.updateFourthView == YES)
    {
        myLabel.text = delegate.fourthString;
    }

    else if (delegate.updateFirstView == YES && delegate.updateSecondView == YES && delegate.updateThirdView == YES)
    {
        myLabel.text = delegate.thirdString;
    }

    else if (delegate.updateFirstView == YES && delegate.updateFourthView == YES && delegate.updateFifthView == YES) 
    {
        myLabel.text = delegate.tenthString;
    }

    else if (delegate.updateFirstView ==YES && delegate.updateSecondView == YES && delegate.updateFifthView ==YES) 
    {
        myLabel.text = delegate.eighthString;
    }

   else if (delegate.updateFirstView == YES && delegate.updateSecondView == YES)
    {
        myLabel.text = delegate.secondString;
    }

    else if (delegate.updateSecondView == YES && delegate.updateFourthView == YES) 
    {
        myLabel.text = delegate.sixthString;
    }

    else if (delegate.updateThirdView == YES && delegate.updateFourthView == YES) 
    {
        myLabel.text = delegate.seventhString;
    }

    else if (delegate.updateFourthView == YES && delegate.updateFifthView == YES) 
    {
        myLabel.text = delegate.ninthString;
    }

    else if (delegate.updateFirstView == YES) 
    {
        myLabel.text = delegate.firstString;
        NSLog(@"label name is %@",myLabel.text);
    }

что здесь происходит, если мой updateFirstView == ДА, и я сравниваю это. и для всех он отображает одно и то же значение. Я хочу знать, есть ли проблема с моей логикой.

Помогите мне, где я делаю ошибки. Спасибо !!

1 Ответ

0 голосов
/ 03 апреля 2012

Проблема здесь с вашими условиями:

 else if (delegate.updateFirstView == YES && delegate.updateSecondView == YES && delegate.updateThirdView == YES)
{
    myLabel.text = delegate.thirdString;
}

else if (delegate.updateFirstView == YES && delegate.updateFourthView == YES && delegate.updateFifthView == YES) 
{
    myLabel.text = delegate.tenthString;
}

Здесь, если updateFirstView, updateSecondView и updateThirdView имеют значение «YES», тогда метка будет отображать значение thirdString независимо от значения updateFifthView, независимо от того, является ли его YES или NO, поскольку программа никогда не войдет в этот блок, поскольку условие до этого блока истинно , То же самое и в случае других комбинаций.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...