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];

    }
}

我在这里要做的是,比如说,如果今天是星期一并且这个按钮单击了一次,那么在星期一的这一天应该禁用它,这样用户就不会再次单击它,或者每当用户单击它时,都会出现一个警报你已经这样做了。当周二新的一天到来并启动应用程序时,新的一天又开始了,按钮将被启用,用户将能够单击它一次。

如何实现这一切....我有很多问题

4

2 回答 2

5

看起来你的 friArray 是空的。

于 2012-04-06T17:22:05.287 回答
0

如果 friArray 为空,则不会调用 else,因为 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 回答