2012-03-13 5 views
-4

아래 코드를 사용하면 레이블과 이미지 뷰에 값을 할당 할 수 있지만 제대로 작동하지 않습니다. 문제가 발생하지 않습니다.if/else 블록 목표 -c에서 문제가 발생했습니다.

if ([child11 length] != 0) { 
    [childButton1 setAlpha:1]; 
    [childButton2 setAlpha:0]; 
    [childButton3 setAlpha:0]; 
    [childButton4 setAlpha:0]; 
    [childButton5 setAlpha:0]; 
    [childButton6 setAlpha:0]; 
    //label1.text = child11; 
    NSLog(@"here we are"); 

    if ([child11image isEqualToString:@"Fajar"]) { 
     image1 = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"Blue-Jaanamaz-Small"]]; 
     NSLog(@"child11image::: %@", child11image); 
     label1.text = child11; 
    } else if ([child11image isEqualToString:@"Zuhr"]) { 
     image1 = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"Orange-Jaanamaz-Small"]]; 
     label1.text = child11; 
    } else if ([child11image isEqualToString:@"Asr"]) { 
     image1 = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"Pink-Jaanamaz-Large"]]; 
     label1.text = child11; 
     NSLog(@"child11image::: %@", child11image); 
    } else if ([child11image isEqualToString:@"Maghrib"]) { 
     image1 = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"Green-Jaanamaz-Small"]]; 
     label1.text = child11; 
    } else if ([child11image isEqualToString:@"Isha"]) { 
     image1 = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"Purple-Jaanamaz-Small"]]; 
     label1.text = child11; 
    } 
} else if ([child22 length] != 0){ 
    [childButton1 setAlpha:1]; 
    [childButton2 setAlpha:1]; 
    [childButton3 setAlpha:0]; 
    [childButton4 setAlpha:0]; 
    [childButton5 setAlpha:0]; 
    [childButton6 setAlpha:0]; 
    label2.text = child22; 

    if ([child22image isEqualToString:@"Fajar"]) { 
     image2 = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"Blue-Jaanamaz-Small"]]; 
    } else if ([child22image isEqualToString:@"Zuhr"]) { 
     image2 = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"Orange-Jaanamaz-Small"]]; 
    } else if ([child22image isEqualToString:@"Asr"]) { 
     image2 = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"Pink-Jaanamaz-Small"]]; 
    } else if ([child22image isEqualToString:@"Maghrib"]) { 
     image2 = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"Green-Jaanamaz-Small"]]; 
    } else if ([child22image isEqualToString:@"Isha"]) { 
     image2 = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"Purple-Jaanamaz-Small"]]; 
    } 
} else if ([child33 length] != 0){ 
    [childButton1 setAlpha:1]; 
    [childButton2 setAlpha:1]; 
    [childButton3 setAlpha:1]; 
    [childButton4 setAlpha:0]; 
    [childButton5 setAlpha:0]; 
    [childButton6 setAlpha:0]; 

    label3.text = child33; 

    if ([child33image isEqualToString:@"Fajar"]) { 
     image3 = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"Blue-Jaanamaz-Small"]]; 
    } else if ([child33image isEqualToString:@"Zuhr"]) { 
     image3 = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"Orange-Jaanamaz-Small"]]; 
    } else if ([child33image isEqualToString:@"Asr"]) { 
     image3 = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"Pink-Jaanamaz-Small"]]; 
    } else if ([child33image isEqualToString:@"Maghrib"]) { 
     image3 = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"Green-Jaanamaz-Small"]]; 
    } else if ([child33image isEqualToString:@"Isha"]) { 
     image3 = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"Purple-Jaanamaz-Small"]]; 
    } 
} else if ([child44 length] != 0) { 
    [childButton1 setAlpha:1]; 
    [childButton2 setAlpha:1]; 
    [childButton3 setAlpha:1]; 
    [childButton4 setAlpha:1]; 
    [childButton5 setAlpha:0]; 
    [childButton6 setAlpha:0]; 

    label4.text = child44; 

    if ([child44image isEqualToString:@"Fajar"]) { 
     image4 = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"Blue-Jaanamaz-Small"]]; 
    } else if ([child44image isEqualToString:@"Zuhr"]) { 
     image4 = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"Orange-Jaanamaz-Small"]]; 
    } else if ([child44image isEqualToString:@"Asr"]) { 
     image4 = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"Pink-Jaanamaz-Small"]]; 
    } else if ([child44image isEqualToString:@"Maghrib"]) { 
     image4 = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"Green-Jaanamaz-Small"]]; 
    } else if ([child44image isEqualToString:@"Isha"]) { 
     image4 = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"Purple-Jaanamaz-Small"]]; 
    } 
} else if ([child55 length] != 0) { 
    [childButton1 setAlpha:1]; 
    [childButton2 setAlpha:1]; 
    [childButton3 setAlpha:1]; 
    [childButton4 setAlpha:1]; 
    [childButton5 setAlpha:1]; 
    [childButton6 setAlpha:0]; 

    label5.text = child55; 

    if ([child55image isEqualToString:@"Fajar"]) { 
     image5 = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"Blue-Jaanamaz-Small"]]; 
    } else if ([child55image isEqualToString:@"Zuhr"]) { 
     image5 = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"Orange-Jaanamaz-Small"]]; 
    } else if ([child55image isEqualToString:@"Asr"]) { 
     image5 = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"Pink-Jaanamaz-Small"]]; 
    } else if ([child55image isEqualToString:@"Maghrib"]) { 
     image5 = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"Green-Jaanamaz-Small"]]; 
    } else if ([child55image isEqualToString:@"Isha"]) { 
     image5 = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"Purple-Jaanamaz-Small"]]; 
    } 
} else if ([child66 length] != 0) { 
    [childButton1 setAlpha:1]; 
    [childButton2 setAlpha:1]; 
    [childButton3 setAlpha:1]; 
    [childButton4 setAlpha:1]; 
    [childButton5 setAlpha:1]; 
    [childButton6 setAlpha:1]; 

    label6.text = child66; 

    if ([child66image isEqualToString:@"Fajar"]) { 
     image6 = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"Blue-Jaanamaz-Small"]]; 
    } else if ([child66image isEqualToString:@"Zuhr"]) { 
     image6 = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"Orange-Jaanamaz-Small"]]; 
    } else if ([child66image isEqualToString:@"Asr"]) { 
     image6 = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"Pink-Jaanamaz-Small"]]; 
    } else if ([child66image isEqualToString:@"Maghrib"]) { 
     image6 = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"Green-Jaanamaz-Small"]]; 
    } else if ([child66image isEqualToString:@"Isha"]) { 
     image6 = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"Purple-Jaanamaz-Small"]]; 
    } 
} else ([child11 length] == 0) { 
    [childButton1 setAlpha:0]; 
    [childButton2 setAlpha:0]; 
    [childButton3 setAlpha:0]; 
    [childButton4 setAlpha:0]; 
    [childButton5 setAlpha:0]; 
    [childButton6 setAlpha:0]; 
} 
+3

안녕하세요, 원하는 성과 결과가 무엇인지 알려주실 수 있습니까? 그것은 여기서 무엇이 잘못 될지 결정하는데 도움이 될 것입니다. –

+3

또한 ... 이것은 끔찍한 코드입니다! : D – jtbandes

+4

@jtbandes 정확히 무엇이 잘못 되었습니까? 비판하지 말고 가르치십시오. :) –

답변

2

실제 문제는 무엇인지는 모르지만 if 문은 잘못되었습니다. 처음 두 조건은 당신은 항상 (x == 0 || x != 0) == true 때문에 정의에 의해 처음 두 경우 중 하나를 통해 이동합니다

if ([child11 length] == 0) 
{ 
    // do stuff 
} 
else if ([child11 length] != 0) 
{ 
    // do stuff 
} 
else // nothing else matters 

있습니다. child22, child33 등으로하는 모든 것들은 결코 끝나지 않습니다.

+0

코드를 변경했습니다. if if ([child11 length] == 0) 부분이 else로 끝 부분에 지정된 경우 처음입니다. –

0

[child11 length] != 0 다른 else-if 수표에 도달하지 마십시오. (나는 child11 추측 오전 child22 비 비어있을 수 있습니다.

그리고 당신은 당신의 코드를 개선해야합니다! 기본 아이폰 애플 리케이션의 예를 학습하여 모든 네트워크에 걸쳐 시작합니다.

1

나는이 당신이

을 무슨 뜻인지 생각
if ([child11 length] != 0){ 
    [childButton1 setAlpha:1]; [childButton2 setAlpha:0]; [childButton3 setAlpha:0]; [childButton4 setAlpha:0]; 
    [childButton5 setAlpha:0]; [childButton6 setAlpha:0]; 
    label1.text = child11; 
    if ([child11image isEqualToString:@"Fajar"]) { 
     image1 = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"Blue-Jaanamaz-Small"]];   
    } else if ([child11image isEqualToString:@"Zuhr"]) { 
     image1 = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"Orange-Jaanamaz-Small"]]; 
    } else if ([child11image isEqualToString:@"Asr"]) { 
     image1 = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"Pink-Jaanamaz-Large"]]; 
    } else if ([child11image isEqualToString:@"Maghrib"]) { 
     image1 = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"Green-Jaanamaz-Small"]]; 
    } else if ([child11image isEqualToString:@"Isha"]) { 
     image1 = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"Purple-Jaanamaz-Small"]]; 
    } 
} else if ([child22 length] != 0){ 
    [childButton1 setAlpha:1]; [childButton2 setAlpha:1]; [childButton3 setAlpha:0]; [childButton4 setAlpha:0]; 
    [childButton5 setAlpha:0]; [childButton6 setAlpha:0]; 
    label2.text = child22; 

    if ([child22image isEqualToString:@"Fajar"]) { 
     image2 = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"Blue-Jaanamaz-Small"]]; 
    } else if ([child22image isEqualToString:@"Zuhr"]) { 
     image2 = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"Orange-Jaanamaz-Small"]]; 
    } else if ([child22image isEqualToString:@"Asr"]) { 
     image2 = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"Pink-Jaanamaz-Small"]]; 
    } else if ([child22image isEqualToString:@"Maghrib"]) { 
     image2 = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"Green-Jaanamaz-Small"]]; 
    } else if ([child22image isEqualToString:@"Isha"]) { 
     image2 = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"Purple-Jaanamaz-Small"]]; 
    } 
} else if ([child33 length] != 0){ 
    [childButton1 setAlpha:1]; [childButton2 setAlpha:1]; [childButton3 setAlpha:1]; [childButton4 setAlpha:0]; 
    [childButton5 setAlpha:0]; [childButton6 setAlpha:0]; 
    label3.text = child33; 

    if ([child33image isEqualToString:@"Fajar"]) { 
     image3 = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"Blue-Jaanamaz-Small"]]; 
    } else if ([child33image isEqualToString:@"Zuhr"]) { 
     image3 = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"Orange-Jaanamaz-Small"]]; 
    } else if ([child33image isEqualToString:@"Asr"]) { 
     image3 = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"Pink-Jaanamaz-Small"]]; 
    } else if ([child33image isEqualToString:@"Maghrib"]) { 
     image3 = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"Green-Jaanamaz-Small"]]; 
    } else if ([child33image isEqualToString:@"Isha"]) { 
     image3 = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"Purple-Jaanamaz-Small"]]; 
    } 
} else if ([child44 length] != 0){ 
    [childButton1 setAlpha:1]; [childButton2 setAlpha:1]; [childButton3 setAlpha:1]; [childButton4 setAlpha:1]; 
    [childButton5 setAlpha:0]; [childButton6 setAlpha:0]; 
    label4.text = child44; 

    if ([child44image isEqualToString:@"Fajar"]) { 
     image4 = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"Blue-Jaanamaz-Small"]]; 
    } else if ([child44image isEqualToString:@"Zuhr"]) { 
     image4 = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"Orange-Jaanamaz-Small"]]; 
    } else if ([child44image isEqualToString:@"Asr"]) { 
     image4 = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"Pink-Jaanamaz-Small"]]; 
    } else if ([child44image isEqualToString:@"Maghrib"]) { 
     image4 = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"Green-Jaanamaz-Small"]]; 
    } else if ([child44image isEqualToString:@"Isha"]) { 
     image4 = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"Purple-Jaanamaz-Small"]]; 
    } 
} else if ([child55 length] != 0){ 
    [childButton1 setAlpha:1]; [childButton2 setAlpha:1]; [childButton3 setAlpha:1]; [childButton4 setAlpha:1]; 
    [childButton5 setAlpha:1]; [childButton6 setAlpha:0]; 
    label5.text = child55; 

    if ([child55image isEqualToString:@"Fajar"]) { 
     image5 = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"Blue-Jaanamaz-Small"]]; 
    } else if ([child55image isEqualToString:@"Zuhr"]) { 
     image5 = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"Orange-Jaanamaz-Small"]]; 
    } else if ([child55image isEqualToString:@"Asr"]) { 
     image5 = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"Pink-Jaanamaz-Small"]]; 
    } else if ([child55image isEqualToString:@"Maghrib"]) { 
     image5 = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"Green-Jaanamaz-Small"]]; 
    } else if ([child55image isEqualToString:@"Isha"]) { 
     image5 = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"Purple-Jaanamaz-Small"]]; 
    } 
} else if ([child66 length] != 0){ 
    [childButton1 setAlpha:1]; [childButton2 setAlpha:1]; [childButton3 setAlpha:1]; [childButton4 setAlpha:1]; 
    [childButton5 setAlpha:1]; [childButton6 setAlpha:1]; 
    label6.text = child66; 

    if ([child66image isEqualToString:@"Fajar"]) { 
     image6 = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"Blue-Jaanamaz-Small"]]; 
    } else if ([child66image isEqualToString:@"Zuhr"]) { 
     image6 = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"Orange-Jaanamaz-Small"]]; 
    } else if ([child66image isEqualToString:@"Asr"]) { 
     image6 = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"Pink-Jaanamaz-Small"]]; 
    } else if ([child66image isEqualToString:@"Maghrib"]) { 
     image6 = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"Green-Jaanamaz-Small"]]; 
    } else if ([child66image isEqualToString:@"Isha"]) { 
     image6 = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"Purple-Jaanamaz-Small"]]; 
    } 
} else { 
    [childButton1 setAlpha:0]; [childButton2 setAlpha:0]; [childButton3 setAlpha:0]; [childButton4 setAlpha:0]; 
    [childButton5 setAlpha:0]; [childButton6 setAlpha:0]; 
} 

이 코드는 조건이 if ([child11 length] == 0)처럼 발생하면 발견 된 문제와 if ([child11 length] !=0)childButton1, childButton2setAlpha:1 될 것입니다. 난 당신이을 할 수 있다고 생각 상기 조건이 발생하면 0childButton2 setAlpha1으로 설정하십시오. 나는 정확히 무엇이 필요한지 모르겠다.

그리고 한 가지. 이와 같이 코드를 작성하지 마십시오. 코드 가독성 및 성능을 향상 시키려면 스위치 케이스 및 열거 형을 사용하십시오. 행복한 코딩.

+0

실제로 내가하려고했던 것은 첫 번째 조건이 충족되지 않으면 두 번째 조건이 완료되어야하고 두 번째 조건이 충족되지 않으면 세 번째 조건을 완료해야한다는 것입니다. 만약 child11이 어떤 가치를 지니고 있다면, 먼저 무엇이든간에, 이제는 child22가 가치를 가질 때 다음 번에 할 것이고, 두 번째 조건은 완료됩니다. 나는 이것을 달성하는 방법을 모른다. Child11, child22 .... 이것들은 NSUserDefaults에 저장된 값입니다. 당신이 저를 도울 수 있습니까? –