我正在使用iOS图表库,并且遇到以下错误消息:
致命错误:NSArray元素与Swift Array Element类型不匹配
我正在尝试使用以下Objective-C代码实现折线图:
NSMutableArray *dataSets = [[NSMutableArray alloc] init];
set1 = [[LineChartDataSet alloc] initWithValues:yVals];
[dataSets addObject:set1];
LineChartData *data = [[LineChartData alloc] initWithDataSets:dataSets];
_chartView.data = data;
ChartViewBase.swift 文件中的此行上发生错误。
for set in _data!.dataSets
_data
是ChartData
对象,而dataSets
是[IChartDataSet]
Swift数组。在Objective-C中使用Swift数组的解决方法是什么?
最佳答案
请按照以下步骤进行。
NSMutableArray *xVals = [[NSMutableArray alloc] init];
for (int i=0;i<dataPoints.count;i++)
{
[xVals addObject:[dataPoints objectAtIndex:i]];
}
NSMutableArray *yVals = [[NSMutableArray alloc] init];
for (int i=0;i<values.count;i++)
{
int val = [([values objectAtIndex:i])intValue];
[yVals addObject:[[ChartDataEntry alloc] initWithValue:(int)val xIndex:i]];
}
LineChartDataSet *set1 = nil;
set1 = [[LineChartDataSet alloc] initWithYVals:yVals label:@""];
NSMutableArray *dataSets = [[NSMutableArray alloc] init];
[dataSets addObject:set1];
LineChartData *data = [[LineChartData alloc] initWithXVals:xVals dataSets:dataSets];
lineChart.data = data;