iOS: как лучше всего создать цикл с несколькими аргументами / утверждениями? - PullRequest
0 голосов
/ 25 марта 2012

Вот что я пытаюсь сделать: я использую объекты 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

, есть ли лучший способ сделать это с помощью switch?Можно ли иметь более одного выражения в составе switch?

1 Ответ

2 голосов
/ 25 марта 2012

Вы должны использовать фигурные скобки:

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]
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...