使用iOS-Charts,如何在嵌入UITableViewCell时设置数据

时间:2016-07-19 14:42:15

标签: ios ios-charts

我正在努力完成这个过程,以确保我不会错过任何东西。

我有一个UIViewController,其中UITableView作为IBOutlet,4个实例变量用于我的图表

@interface CRHourlyTVC () <..., ChartViewDelegate, ...> {
    //...
    BarChartData *divVarBarData, *storeVarBarData;
    CombinedChartData *divHourChartData, *storeHourChartData;
    //...
}
@property (strong, nonatomic) IBOutlet UITableView *tableView;
@end

我们将专注于一个图表,所以我们选择storeHourChartData

我的tableview单元格被设置为点击将切换单元格的高度以仅显示数据或数据与图表,如果点击的单元格正在扩展,它将调用Web服务以将数据加载到图表中那将被提出

for (int i = 0; i < storeData.count; i++) { //store data is an array made from 'responseObject' from AFNetworking
    //populate NSMutableArrays using data from AFNetworking GET request
    //populates 'storeDates', 'storeVals', 'storeVals2', 
}

storeHourChartData = [[CombinedChartData alloc] initWithXVals:storeDates];
storeHourChartData.barData = [self setupBarChartWithValues:storeVals2 withLabel:@"Last Year" withColor:[UIColor chartLY]];
storeHourChartData.lineData = [self setupLineChartWithValues:storeVals withLabel:@"Current Year" withColor:[UIColor chartCY] orColorArray:storeColors];

NSLog(@"\nws-%@", storeHourChartData);

上面的NSLog产生以下

  

ws - &lt; Charts.CombinedChartData:0x12d86b0b0&gt;

在我的网络服务电话结束时,我执行[self.tableView reloadData];

现在填充我的细胞。在cellForRowAtIndexPath:

cell.hourlyChartView.delegate = self;
cell.hourlyChartView.tag = 202;

//...
[cell.hourlyChartView setData:storeHourChartData];
//cell.hourlyChartView.data = storeHourChartData;

//...

[cell.hourlyChartView setNeedsDisplay];
NSLog(@"\ncell-%ld\n%@\n%@\n-------------", (long)myIndexPath.row, storeHourChartData, cell.hourlyChartView.data);

myIndexPath是我如何跟踪正在展开/折叠的单元格。

NSLog产生以下

  

细胞-4

这告诉我,单元格im加载数据是单元格点击。

  

&LT; Charts.CombinedChartData:0x12d86b0b0&gt;

这告诉我我的webservice调用成功并且我的数据已加载。

  

(空)

这告诉我cell.hourlyChartView.data为空

  

(这里有破折号,但SO标记阻止它显示。让我们   假装它显示)

现在如您所见,storeHourChartData生成<Charts.CombinedChartData: 0x12d86b0b0>

cell.hourlyChartView.data(null),即使我在cellForRowAtIndexPath: [cell.hourlyChartView setData:storeHourChartData];

中进行了设置

我完全忘记了为什么我的数据没有被设置。任何帮助将不胜感激。

不必要但可能有用的信息..

我的单元格是通过继承UITableViewCell

来设置的

0 个答案:

没有答案