Iphone 这段代码中的错误是什么?
在这段代码中,当编译器出现在这条语句上时 if([listofBusiness indexOfObject:feedName]!=NSNotFound)Iphone 这段代码中的错误是什么?,iphone,if-statement,compiler-errors,nsmutablearray,Iphone,If Statement,Compiler Errors,Nsmutablearray,在这段代码中,当编译器出现在这条语句上时 if([listofBusiness indexOfObject:feedName]!=NSNotFound) 然后,不要进入codition和for循环中的increment,这样就不会在数组中添加任何元素。这段代码中有什么错误?逻辑似乎颠倒了-您可能希望它在 for(NSDictionary *feed in Feeds) { NSString *feedName=[feed objectForKey:@"name"];
然后,不要进入codition和for循环中的increment,这样就不会在数组中添加任何元素。这段代码中有什么错误?逻辑似乎颠倒了-您可能希望它在
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;
}
}
但此时,情况正好相反-您仅在“未找到”时尝试添加对象,即当对象已存在于列表中时。逻辑似乎相反-您可能希望它在以下情况下添加元素:
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;
}
}
但目前情况正好相反——只有当对象“未找到”时才尝试添加该对象,即当该对象已存在于列表中时。indexOfObject不适用于数组 尝试使用数组的containsObject方法 例如:
[listofBusiness indexOfObject:feedName] == NSNotFound
IndexOfoObject不适用于数组 尝试使用数组的containsObject方法 例如:
[listofBusiness indexOfObject:feedName] == NSNotFound
与您的问题(答案很好)无关,代码中的内存管理完全混乱。运行静态分析器。与您的问题(答案很好)无关,代码中的内存管理都是一团糟。运行静态分析仪。