НЕ (!) В цели c - PullRequest
       33

НЕ (!) В цели c

3 голосов
/ 21 апреля 2011
for (int i=0 ; i<=[secondSplitArrayValue count]; i++)   
{    
  if (![[secondSplitArrayValue objectAtIndex:i] isEqualToString:@"NULL"] ||  
  ![[splitArrayValue objectAtIndex:i] isEqualToString:@"Error"]   
    {  
        [secondSplitArrayValue removeObjectAtIndex:i];  
    }  
}  

Я пытаюсь удалить значение массива по определенному индексу, где строка НЕ ​​РАВНО (! =) В NULL или в Error. Но во время отладки объект удаляется там, где присутствуют NULL и Error, но я хочу удалить объект, где нет значений Null и Error.

Ответы [ 4 ]

8 голосов
/ 21 апреля 2011

Вы, наверное, ищете это, я думаю:

for (int i=0 ; i<=[secondSplitArrayValue count]; i++)   
{    
  if (!([[secondSplitArrayValue objectAtIndex:i] isEqualToString:@"NULL"] ||  
  [[splitArrayValue objectAtIndex:i] isEqualToString:@"Error"])   
    {  
        [secondSplitArrayValue removeObjectAtIndex:i];  
    }  
}  

Таким образом вы инвертируете логическую операцию только после того, как завершите проверку для обоих случаев, и операцию ИЛИ для обеих полученных проверок.

0 голосов
/ 21 апреля 2011
for (int i=0 ; i<=[secondSplitArrayValue count]; i++)   
{    
  if (!([[secondSplitArrayValue objectAtIndex:i] isEqualToString:@"NULL"]) ||  
  !([[splitArrayValue objectAtIndex:i] isEqualToString:@"Error"]))   
    {  
        [secondSplitArrayValue removeObjectAtIndex:i];  
    }  
}  
0 голосов
/ 21 апреля 2011
for (int i=0 ; i<=[secondSplitArrayValue count]; i++)   
{    
  if (!([[secondSplitArrayValue objectAtIndex:i] isEqualToString:@"NULL"] ||  
  [[splitArrayValue objectAtIndex:i] isEqualToString:@"Error"] ))  
    {  
        [secondSplitArrayValue removeObjectAtIndex:i];  
    }  
}  

Посмотрите, поможет ли это

0 голосов
/ 21 апреля 2011

Попробуйте это.

for (int i=0 ; i<=[secondSplitArrayValue count]; i++)   
{    
  if (([[secondSplitArrayValue objectAtIndex:i] isEqualToString:@"NULL"] == FALSE) ||  
  ([[splitArrayValue objectAtIndex:i] isEqualToString:@"Error"] == FALSE))

    {  
        [secondSplitArrayValue removeObjectAtIndex:i];  
    }  
} 
...