根据字典valueForKey分配uitableview单元格

时间:2014-10-10 02:29:50

标签: ios uitableview nsarray nsdictionary

我有一个包含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没有运气。如何分配每个单元格颜色?

1 个答案:

答案 0 :(得分:-1)

([pointsArray containsObject:isEqual])替换为:

([pointsArray containsObject:[isEqual stringValue]])

([pointsArray containsObject:minusOne2])替换为:

([pointsArray containsObject:[minusOne2 stringValue]])