这段代码中的错误是什么?

时间:2011-08-24 11:49:09

标签: iphone if-statement compiler-errors nsmutablearray

for(NSDictionary *feed in Feeds)
{
  NSString *feedName=[feed objectForKey:@"name"];
                                if(listofBusiness==nil)
{
                                    listofBusiness=[[NSMutableArray alloc]init];
    }
                                    if([listofBusiness indexOfObject:feedName] !=NSNotFound)
        {
        [listofBusiness addObject:feedName];
        [feedName release];
        feedName=nil;   
                                }

                            }
当编译器出现在本声明中时

中的

  

if([listofBusiness indexOfObject:feedName]!= NSNotFound)

然后不进入编码并继续增加for循环,以便任何元素都不会添加到array.what是这个代码中的错误?

2 个答案:

答案 0 :(得分:3)

逻辑似乎被颠倒了 - 你可能希望它在

时添加元素
[listofBusiness indexOfObject:feedName] == NSNotFound

但是目前你却反其道而行 - 你只是在'找不到'时才尝试添加对象 - 即当它已经存在于列表中时。

答案 1 :(得分:0)

indexOfObject不适用于数组

尝试使用数组的containsObject方法。

示例:

         if([listofBusiness containsObject:feedName]) {
             // your code
         }