2012-04-03 3 views
0

작은 퍼즐 게임 인 응용 프로그램을 만들고 있습니다. 내 응용 프로그램에 대한 간단한 설명을 제공하고 있습니다.이전 화면에서 올바른 값을 표시 할 때 오류가 발생했습니다.

1. 세부 정보 화면이 포함되어있어 사용자가 1TextFields을 유지해야하며 해당 필드에 데이터를 입력해야합니다. 모든 필드를 입력하면 사용자가 하나의 필드를 선택하고 시작 버튼을 눌러야합니다. 다음 라벨 화면으로 넘어갑니다.

2. 모든 화면에 레이블이 포함 된 5 개의 화면을 유지했습니다. 사용자가 선택한 필드가 각 화면에 표시되면 YES를 누르거나 사용자 필드가 없으면 NO를 누릅니다. 이처럼 5 개의 화면을 유지합니다.

3.According 어디 까지나 나는 그가 부울 변수를 통해 나는 사용자가 선택한 출력을 바르게하고있는 부울 변수를 가져갔습니다.

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 == 예와 비교하면 어떻게됩니까? 모든 것에 대해 동일한 가치를 나타냅니다. 나는 내 논리에 문제가 있는지 알고 싶습니다.

내가 실수를하는 곳을 도와주세요. 감사합니다!

답변

0

여기서 문제는 조건입니다 : 여기

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"다음 라벨은 updateFifthView의 값은 YES 여부에 관계없이 thirdString의 값을 표시 할 경우 때문에 NO 프로그램은이 블록 이전의 조건이 참이므로 해당 블록에 입력하지 않습니다. 다른 조합의 경우도 마찬가지입니다.

+0

답변을 주셔서 감사합니다.하지만 정확히 내가 여기서 바꿔야 만합니다. 제발 말해 줄 수 있어요. – Kiran

+0

다른 모든 것을 바꿉니다. 구조 만있는 경우 모든 조건을 넣으십시오. – Jeet

+0

이전에 Keeping을 시도했지만 변경이 없습니다. 그래서 나는 다른 것을 지키려고 노력했다. – Kiran

관련 문제