我有一个包含valueForKey的字典:@" point"和valueForKey:@" name"。只有"名称"显示在tableview中。当它填充tableview时,我想根据"点"设置每个单元格的颜色。它有价值。这取决于"点"的距离。来自一个'总计'值。
所以,我开始设置'总计'通过生成一个对象数组的值,让我们说" fruit",并计算数组中的总对象数。再一次,我想比较一下" point"来自那个总数。基于这种差异: - 如果匹配,则将单元格颜色设置为蓝色 - 如果它少一个数字,请将其设为绿色 - 如果它少了两个数字,那就把它变成红色......
NSArray *fruit = [fruits valueForKey:@"fruitName"];
//total number of fruit
int equal = fruit.count;
NSString *isEqual = [@(equal) stringValue];
NSArray *isEqual2 = [isEqual componentsSeparatedByString:@""];
//total number of fruit minus one
int minusOne = fruit.count -1;
NSString *minusOne1 = [@(minusOne) stringValue];
NSArray *minusOne2 = [minusOne1 componentsSeparatedByString:@""];
//creating array of "point" from dictionary
NSArray *pointsArray = [self.points valueForKey:@"point"];
if ([pointsArray containsObject:isEqual]) {
cell.backgroundColor = [UIColor blueColor];
}
else if ([pointsArray containsObject:minusOne2]){
cell.backgroundColor = [UIColor greenColor];
}
它不会输入语句来为单元格着色。 当我记录点阿雷''我得到了数组(例如4,1,1,1 ......)。 当我记录'isEqual'我得到totalFruit数字(例如4)。
我还试过isEqualToArray
没有运气。如何分配每个单元格颜色?
答案 0 :(得分:-1)
将([pointsArray containsObject:isEqual])
替换为:
([pointsArray containsObject:[isEqual stringValue]])
将([pointsArray containsObject:minusOne2])
替换为:
([pointsArray containsObject:[minusOne2 stringValue]])