iOS:创建具有多个参数/语句的循环的最佳方法是什么?

时间:2012-03-24 21:05:23

标签: objective-c if-statement

这是我正在尝试做的事情:我正在使用NSCalendar和NSDateComponents对象来创建一个循环,它将根据日期显示文本和图像。所以,在我的viewdidload中,这是非常标准的:

NSDate *today = [NSDate date];
NSCalendar *gregorian = [[NSCalendar alloc]
                         initWithCalendarIdentifier:NSGregorianCalendar];
NSDateComponents *dateComponents =
[gregorian components:(NSDayCalendarUnit | NSMonthCalendarUnit) fromDate:today];
NSInteger day = [dateComponents day];
NSInteger month = [dateComponents month];

然后我从一个月和一天开始注意这个:

if (month == 1 && day ==1)
[do this] //display text
[do this] //display image

这是我需要帮助的地方:我最初将其创建为if-else结构:

if (month == 1 && day == 1)
[do this]
[do this]
else if (month == 1 && day == 2)
[do this]
[do this]

但由于某种原因,只要我添加第二个语句,我就会收到错误(预期表达式)

所以我改成了:

if (month == 1 && day == 1)
[do this]
[do this]
if (month == 1 && day == 2)
[do this]
[do this]

但是现在我的第二个语句被调用,即使if应该返回0

使用开关有更好的方法吗?是否可以将多个表达式作为切换的一部分?

1 个答案:

答案 0 :(得分:2)

你应该使用大括号:

if (month == 1 && day == 1) {
    [do this]
    [do this]
} else if (month == 1 && day == 2) {
    [do this]
    [do this]
}

或者

if (month == 1 && day == 1) {
    [do this]
    [do this]
}
if (month == 1 && day == 2) {
    [do this]
    [do this]
}