这是方法中的一段代码,通过TFHpple加载一些元素:
// kvota1Niz, KvotaxNiz and Kvota2Niz are result arrays from TFHpple parser
NSArray *kvota1Niz = [kvoteParser searchWithXPathQuery:kvota1XpathUpit];
NSArray *kvotaxNiz = [kvoteParser searchWithXPathQuery:kvotaxXpathUpit];
NSArray *kvota2Niz = [kvoteParser searchWithXPathQuery:kvota2XpathUpit];
NSMutableArray *kvote1 = [[NSMutableArray alloc] initWithCapacity:0];
NSMutableArray *kvotex = [[NSMutableArray alloc] initWithCapacity:0];
NSMutableArray *kvote2 = [[NSMutableArray alloc] initWithCapacity:0];
NSMutableArray *privremeniArray = [[NSMutableArray alloc] initWithCapacity:0];
for (TFHppleElement *element in kvota1Niz)
{
Par *trenutnaKvota1 = [[Par alloc] init];
[kvote1 addObject:trenutnaKvota1];
trenutnaKvota.kvota1 = [[element firstChild] content];
}
for (TFHppleElement *element in kvotaxNiz)
{
Par *trenutnaKvotax = [[Par alloc] init];
if ([_sekvencaLogoa objectAtIndex: [kvotaxNiz indexOfObject:element]] == @"2")
{
[privremeniArray addObject:trenutnaKvotaX]
}
else
{
[kvotex addObject:trenutnaKvotax];
}
trenutnaKvota.kvotax = [[element firstChild] content];
}
for (TFHppleElement *element in kvota2Niz)
{
Par *trenutnaKvota2 = [[Par alloc] init];
if ([_sekvencaLogoa objectAtIndex: [kvota2Niz indexOfObject:element]] == @"2")
{
[kvote2 addObject:[privremeniArray objectAtIndex:k]];
k++;
}
else
{
[kvote2 addObject:trenutnaKvota2];
}
trenutnaKvota.kvota2 = [[element firstChild] content];
}
kvota1 = _kvota1;
kvotax = _kvotax;
kvota2 = _kvota2;
问题出在for(TFHppleElement *element in kvota2Niz)
,其中[privremeniArray objectAtIndex:k]
未保存在kvote2
数组中。程序进入for循环,因为我NSLogged
的值为k
。
kvota2
是NSString
类的Par
实例变量。
_sekvencaLogoa
是一个包含字符串"2"
和"3"
的数组。
有什么想法吗?
答案 0 :(得分:2)
字符串比较不正确
if ([_sekvencaLogoa objectAtIndex: [kvota2Niz indexOfObject:element]] == @"2")
{
[kvote2 addObject:[privremeniArray objectAtIndex:k]];
k++;
}
使用此:
if ([[_sekvencaLogoa objectAtIndex: [kvota2Niz indexOfObject:element]] isEqualToString:@"2"])
{
[kvote2 addObject:[privremeniArray objectAtIndex:k]];
k++;
}