无法比较if方法中的值

时间:2013-08-20 13:43:58

标签: objective-c

无法理解对象是nil:

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 个答案:

答案 0 :(得分:3)

问答:您可以使用NSNotFound初始化iIndex。然后你比较它。

此外:NSPredicate(以及其他一些建议导致距离Q太远。)

答案 1 :(得分:2)

创建iIndex时,请将值设置为默认值:

NSInteger iIndex = NSNotFound;

然后您可以在if

中查看它
if ([self indexFromObjectProperty:UUID] != NSNotFound)