Search code examples
objective-ciosuiviewcore-plot

Error: "-[UIView setHostedGraph:]: unrecognized selector" while executing the core plot in iPhone app


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?


Solution

  • 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;