Objective c 错误:"-[UIView setHostedGraph::无法识别的选择器”;在iPhone应用程序中执行核心绘图时

Objective c 错误:"-[UIView setHostedGraph::无法识别的选择器”;在iPhone应用程序中执行核心绘图时,objective-c,ios,uiview,core-plot,Objective C,Ios,Uiview,Core Plot,当我试图编译以下代码时,出现以下错误: 由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:“-[UIView setHostedGraph:]:无法识别的选择器已发送到实例0x6768c10” 代码: UIView *ChartView; ChartView = [[UIView alloc] init]; graph = [[CPXYGraph alloc] initWithFrame: ChartView.bounds]; CPGra

当我试图编译以下代码时,出现以下错误:

由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:“-[UIView setHostedGraph:]:无法识别的选择器已发送到实例0x6768c10”

代码:

 UIView *ChartView;

  ChartView = [[UIView alloc] init];
  graph = [[CPXYGraph alloc] initWithFrame: ChartView.bounds];

CPGraphHostingView *hostingView = (CPGraphHostingView *)ChartView;
hostingView.hostedGraph = graph;

可能有什么问题?

您正在将
UIView
实例(它不响应
-setHostedGraph:
)强制转换为
CPGraphHostingView
-这将不起作用

您需要创建一个实际的
CPGraphHostingView
对象,然后在其上调用
-setHostedGraph:

因此,您的代码应该如下所示:

CGRect someFrame = ...;
CPGraphHostingView *hostingView = [[CPGraphHostingView alloc] initWithFrame:someFrame];
graph = [[CPXYGraph alloc] initWithFrame: hostingView.bounds];

hostingView.hostedGraph = graph;

您正在将
UIView
实例(不响应
-setHostedGraph:
)强制转换为
CPGraphHostingView
-这将不起作用

您需要创建一个实际的
CPGraphHostingView
对象,然后在其上调用
-setHostedGraph:

因此,您的代码应该如下所示:

CGRect someFrame = ...;
CPGraphHostingView *hostingView = [[CPGraphHostingView alloc] initWithFrame:someFrame];
graph = [[CPXYGraph alloc] initWithFrame: hostingView.bounds];

hostingView.hostedGraph = graph;

如果我不使用UIView,它将如何确定哪个UIView是此核心图的主视图?我的ViewController上有四个视图。那么在这种情况下可以做什么呢?如果我不使用UIView,那么它将如何确定哪个UIView是这个核心图的主视图?我的ViewController上有四个视图。那么,在这种情况下可以做些什么呢?