Несколько операторов в цикле с if else - PullRequest
3 голосов
/ 09 февраля 2010

РЕДАКТИРОВАТЬ: обновленный код, чтобы лучше отражать мою проблему

этот код возвращает 9 строк в badDestination1

NSMutableArray* goodDestination1 = [NSMutableArray array];
NSMutableArray* badDestination1 = [NSMutableArray array];
NSMutableArray* badDestination2 = [NSMutableArray array];

for (NSString* item in sourceArray)
{
    if ([item rangeOfString:@"<b>"].location != NSNotFound)

        [goodDestination1 addObject:item];

    else {
        [badDestination1 addObject:item];
        //[badDestination2 addObject:@"Title"];
    }
}

Этот код возвращает 1 значение badDestination2

for (NSString* item in sourceArray)
    {
        if ([item rangeOfString:@"<b>"].location != NSNotFound)

            [goodDestination1 addObject:item];

        else {
            //[badDestination1 addObject:item];
            [badDestination2 addObject:@"String"];
        }
    }

Кто-нибудь знает, что происходит? Похоже, что "String" может быть переписан в том же месте массива, может быть?

1 Ответ

5 голосов
/ 09 февраля 2010

Похоже, вам не хватает скобок {} после else.

else {
  [arrayDestinationBad1 addObject:item]; 
  [arrayDestinationBad2 addObject:@"String"]; 
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...