2013-08-20 31 views
0

無法理解的對象是零比較值:無法在如果方法

if ([self indexFromObjectProperty:UUID]) 
    {} 
else 
    {} 

的問題是,indexFromObjectProperty可以爲0,但我需要檢查的情況時,有沒有這樣的元素在陣列中。

-(NSInteger)indexFromObjectProperty:(NSString *)property 
{ 
    NSInteger iIndex; 
    for (int i = 0; i < [items count]; i++) 
    { 
     if([property isEqualToString:[[items objectAtIndex:i] objectForKey:@"UUID"]]) 
     { 
      iIndex = i; 
     } 
    } 
    return iIndex; 
} 

我該如何解決這個問題?

回答

2

當您創建iIndex,將值設置爲一些默認值:

NSInteger iIndex = NSNotFound; 

然後,你可以檢查它在你的if

if ([self indexFromObjectProperty:UUID] != NSNotFound) 
3

要將Q:你可以用NSNotFound初始化iIndex 。然後你比較它。

此外:NSPredicate(和一些其他建議,導致太遠離Q.)