if / else语句iPhone中的问题

时间:2012-04-06 17:20:11

标签: iphone objective-c ios

我正在使用下面的代码,但我不知道为什么它不能正常工作,我认为我的逻辑不正确。

请看一下并向我推荐解决方案。

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

    }
}

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

如何实现这一切......我遇到了很多问题

2 个答案:

答案 0 :(得分:5)

看起来你的friArray是空的。

答案 1 :(得分:0)

如果friArray为空,则不会调用else,因为for循环不会迭代。在for循环之前检查空friArray

if ([friArray count] ==0) {
    //do what you do when it's empty
}
else {
    //do your for loop
}