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

我想删除特定索引处的数组值,其中字符串不等于(!=)为NULL或错误。 但在调试时间对象被删除,其中NULL和错误存在,但我想删除对象空和错误不存在。NOT(!)in objective c

回答

8

你可能在找这个,我认为:

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

这样你逆布尔运算你已经完成了这两种情况的检查后,才,两者所产生的检查的OR操作。

+0

好了,这意味着,而不是把!(NOT)在每一个|| (或)我必须把整个条件,好的会尝试这个 – Pooja 2011-04-21 09:56:31

+0

是的,你明白了。 ;) – Tovi7 2011-04-21 09:57:36

+0

完美,非常感谢 – Pooja 2011-04-21 10:13:52

0

试试这个。

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

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

看看这有助于

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