Error: “-[UIView setHostedGraph:]: unrecognized se

2020-04-18 04:46发布

问题:

I get the below error when I try to compile the below code:

Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[UIView setHostedGraph:]: unrecognized selector sent to instance 0x6768c10'

Code:

 UIView *ChartView;

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

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

What could be wrong?

回答1:

You're casting a UIView instance (which does not respond to -setHostedGraph:) to a CPGraphHostingView. - This will not work.

You'll need to create an actual CPGraphHostingView object, then invoke -setHostedGraph: on it.

So, your code should look like this:

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

hostingView.hostedGraph = graph;