1

以下のコードを使用していますが、正しく動作しない理由がわかりません。ロジックが間違っていると思います。

見て、解決策を提案してください。

- (IBAction)fajarButton:(id)sender {

    name = @"f";

    NSLog(@"Selected namaz is Fajar");

    [a1 setAlpha:0]; [a2 setAlpha:0]; [a3 setAlpha:0]; [a4 setAlpha:0]; [a5 setAlpha:0];

    NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; 
    [dateFormatter setTimeZone:[NSTimeZone localTimeZone]]; 
    [dateFormatter setDateFormat:@"EEEE"]; 
    NSString *day = [dateFormatter stringFromDate:[NSDate date]]; 

    NSLog(@"day::: %@", day);


    if ([day isEqualToString:@"Monday"]) {

        [fajarButton setUserInteractionEnabled:NO];

    }
    if ([day isEqualToString:@"Tuesday"]) {

        [fajarButton setUserInteractionEnabled:NO];

    }
    if ([day isEqualToString:@"Wednesday"]) {

        [fajarButton setUserInteractionEnabled:NO];

    }
    if ([day isEqualToString:@"Thursday"]) {

        [fajarButton setUserInteractionEnabled:NO];

    }
    if ([day isEqualToString:@"Friday"]) {

        [fajarButton setUserInteractionEnabled:NO];

    }
    if ([day isEqualToString:@"Saturday"]) {

        [fajarButton setUserInteractionEnabled:NO];

    }
    if ([day isEqualToString:@"Sunday"]) {

        [fajarButton setUserInteractionEnabled:NO];

    }
}

ここで私がやろうとしているのは、たとえば、今日が月曜日で、このボタンが 1 回クリックされた場合、ユーザーが再度クリックしないように、またはユーザーがボタンをクリックするたびにアラートが表示されるように、月曜日のこの日に無効にする必要があるということです。あなたはすでにそれを行っています。そして、火曜日の新しい日が来てアプリが開始されると、新しい日が再び開始されたため、ボタンが有効になり、ユーザーはそれを 1 回クリックできるようになります。

それをすべて達成する方法....私は多くの問題を抱えています

4

2 に答える 2

5

friArray が空のようです。

于 2012-04-06T17:22:05.287 に答える
0

friArrayが空の場合、forループが繰り返されないため、それ以外の場合は呼び出されません。forループの前に空のfriArrayを確認してください

if ([friArray count] ==0) {
    //do what you do when it's empty
}
else {
    //do your for loop
}
于 2012-04-07T08:46:20.907 に答える