Ios 如何访问目标c中的swift资源?

Ios 如何访问目标c中的swift资源?,ios,objective-c,swift,methods,Ios,Objective C,Swift,Methods,我想在ViewController文件中显示图表。我可以在swift文件中显示图表。我的问题是,我想在ViewController文件中访问该视图。但无法访问。我可以从ViewController调用方法test(),但无法调用setChart()方法。这是我的源代码: ViewController.m #import "ViewController.h" #import "ChartsDemo-swift.h" #import "ChartsDemo-Bridging-Header.h" @i

我想在ViewController文件中显示图表。我可以在swift文件中显示图表。我的问题是,我想在ViewController文件中访问该视图。但无法访问。我可以从ViewController调用方法test(),但无法调用setChart()方法。这是我的源代码:

ViewController.m

#import "ViewController.h"
#import "ChartsDemo-swift.h"
#import "ChartsDemo-Bridging-Header.h"
@interface ViewController ()

@end

@implementation ViewController
- (void)viewDidLoad 
{
    [super viewDidLoad];
    //View Creation
    UIView *mainView = [[UIView alloc]initWithFrame:CGRectMake(0, 0, 200, 270)];

    //Array Creation
    NSMutableArray *mn = [[NSMutableArray alloc]initWithObjects:@"5",@"8", nil];
    NSArray *un = [[NSArray alloc]initWithObjects:@"6",@"10", nil];

    //Instance for Swift Class
    BarChartViewController *bcv = [[BarChartViewController alloc]init];

    //Function Call
    [bcv test];
    [bcv setChart:mn values:un];
}

- (void)didReceiveMemoryWarning 
{
    [super didReceiveMemoryWarning];
}

@end
BarChartViewController.swift

import Foundation
import Charts

class BarChartViewController: UIViewController {

@IBOutlet var barChartView: BarChartView!
var months: [String]!

override func viewDidLoad()
{

    //Array Creation
     months = ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"]
    let units = [20.0, 4.0, 6.0, 3.0, 12.0, 16.0, 4.0, 18.0, 2.0, 4.0, 5.0, 4.0]

   //Function call
    setChart(months, values: units)
    piesetChart(months, values: units)

}

func test()
{
    print("hi")
}


func setChart(dataPoints: [String], values: [Double])
{

    var dataEntries: [BarChartDataEntry] = []

    for var i=0; i < dataPoints.count; i++
    {
        let dataEntry = BarChartDataEntry(value: values[i], xIndex: i)
        dataEntries.append(dataEntry)
    }

    let chartDataSet = BarChartDataSet(yVals: dataEntries, label: "Units Sold")
    let chartData = BarChartData(xVals: months, dataSet: chartDataSet)

    chartDataSet.colors = [UIColor .redColor()]

    barChartView.data = chartData
    barChartView.xAxis.labelPosition = .Bottom
}
<代码>导入基础 进口图表 类BarChartViewController:UIViewController{ @IBVAR barChartView:barChartView! 变量月份:[字符串]! 重写func viewDidLoad() { //数组创建 月份=[“一月”、“二月”、“三月”、“四月”、“五月”、“六月”、“七月”、“八月”、“九月”、“十月”、“十一月”、“十二月”] 设单位=[20.0,4.0,6.0,3.0,12.0,16.0,4.0,18.0,2.0,4.0,5.0,4.0] //函数调用 设置图(月,值:单位) piesetChart(月,值:单位) } func测试() { 打印(“hi”) } func集合图表(数据点:[字符串],值:[双精度]) { var数据项:[BarChartDataEntry]=[] 对于变量i=0;i 1.如何在Objective c视图中访问swift视图


2.如何从ViewController.m访问setChart方法?

如果您想从
ViewController.m
访问
setChart()
方法

  • ViewController.m

  • ViewController
    类为
    BarChartViewController.swift
    创建一个实例。通过使用该实例,您可以访问
    setChart()
    方法