我正在使用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
_dataChartData对象,而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;

09-25 18:44