Core Plot 1.0 ¿Cómo implementar el método reloadData?

Hice esta pregunta ayer y recibí una gran ayuda de Eric Skroch. Sin embargo, todavía estoy un poco confundido después de revisar toda la documentación en el sitio web de Core Plot junto con algunos ejemplos. Así que voy a publicar el código que tengo hasta ahora, y ver si alguien me puede ayudar un poco más. Tal vez también sea un poco más fácil para Eric ayudar. Mi problema es que necesito eliminar un gráfico y luego reemplazarlo con otro en una aplicación con pestañas. Eric y otros han dicho que usen el método reloadData. ¿Pero no veo dónde puedo usarlo en mi código? Aquí están mis archivos de cabecera e implementación.

#import <UIKit/UIKit.h>
#import "CorePlot-CocoaTouch.h" 

@interface GraphViewController : UIViewController <CPTPlotDataSource>

@property (nonatomic, strong) CPTGraphHostingView *hostView;
@property (nonatomic, strong) NSMutableArray *myData;
@property (nonatomic) float XAXISMIN;
@property (nonatomic) float XAXISMAX;
@property (nonatomic) float YAXISMIN;
@property (nonatomic) float YAXISMAX;
@property (strong, nonatomic) IBOutlet UILabel *noGraph;

@end

y

#import "GraphViewController.h"
#import "MyVariables.h"  // a singleton class for my variables

@interface GraphViewController ()

@end

@implementation GraphViewController

@synthesize  hostView = _hostView;
@synthesize myData = _myData;
@synthesize XAXISMIN;
@synthesize XAXISMAX;
@synthesize YAXISMAX;
@synthesize noGraph;
@synthesize YAXISMIN;

- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
if (self) {
    // Custom initialization
}
return self;
}

- (void)viewWillAppear:(BOOL)animated
{
[super viewWillAppear:animated];
[noGraph setText:@""];
}

- (void)viewDidAppear:(BOOL)animated
{

[super viewDidAppear:animated];
MyVariables *sharedVariables2 = [MyVariables sharedVariables2];
float a = [sharedVariables2.AA floatValue];
MyVariables *sharedVariables3 = [MyVariables sharedVariables3];
float b = [sharedVariables3.BB floatValue];    
MyVariables *sharedVariables4 = [MyVariables sharedVariables4];
float c = [sharedVariables4.CC floatValue];

float d = (4.0f)*a*c;
float e = (b*b);
float f = (e - d);
float g = sqrtf(f);
float h = -b;
float i = h + g;
float ii = h - g;
float j = i/(2*a);
float k = ii/(2*a);

// Define x max and min with answers to quad
XAXISMIN = j - (5.0);
XAXISMAX = k + (5.0);

// Find range for the y axis  STILL NEEDS WORK!
// maybe if statement for negatives
float z = c - ((b*b)/((4.0f)*a));
YAXISMAX = z + 10.0f;
YAXISMIN = -z;

float inc = (XAXISMAX - XAXISMIN) / 100.0f;
float l = XAXISMIN;

if ((isnan(g))  || (a == 0))
{ 
    [noGraph setText:@"This is not graphable"];
    [_hostView setHidden:YES];
}
else 
{
    NSMutableArray *data = [NSMutableArray array];

    for (int i = 0; i < 100; i ++)
    {

        float y = (a * (l*l)) + (b * l) + c;

        NSString *str4 = [NSString stringWithFormat:@"%.3f", l];
        NSString *str5 = [NSString stringWithFormat:@"%.3f", y];

        NSLog(@"Our X and Y are : %@, %@", str4, str5);
        [data addObject:[NSValue valueWithCGPoint:CGPointMake(l, y)]];
        l = l + inc;


    }
    self.myData = data;  // put that data array into the array you synthesized
    [self initPlot];   
}
}

- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view.
}

- (void)viewDidUnload
{   
[self setNoGraph:nil];
[super viewDidUnload];
// Release any retained subviews of the main view.
}

- (void)viewWillDisappear:(BOOL)animated
{
[super viewWillDisappear:animated];

}

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
return (interfaceOrientation == UIInterfaceOrientationPortrait);
}

- (NSUInteger)numberOfRecordsForPlot:(CPTPlot *)plot
{
return [_myData count];  
}

- (NSNumber *)numberForPlot:(CPTPlot *)plot field:(NSUInteger)fieldEnum recordIndex:  (NSUInteger)index
{
if ([plot.identifier isEqual:@"Your data"])
{
    NSValue *value = [self.myData objectAtIndex:index];
    CGPoint point = [value CGPointValue];

    // FieldEnum determines if we return an X or Y value.
    if (fieldEnum == CPTScatterPlotFieldX) 
    {
        return [NSNumber numberWithFloat:point.x];
    }
    else    // Y-Axis
    {
        return [NSNumber numberWithFloat:point.y];
    }
}
return [NSNumber numberWithFloat:0];
}

- (void)initPlot
{
[self configureHost];
[self configureGraph];
[self configurePlots];
[self configureAxes];

}

- (void)configureHost
{
self.hostView = [(CPTGraphHostingView *) [CPTGraphHostingView alloc] initWithFrame:self.view.bounds]; 
self.hostView.allowPinchScaling = YES;
[self.view addSubview:self.hostView];
}

- (void)configureGraph
{
// 1 - Create graph
CPTGraph *graph = [[CPTXYGraph alloc] initWithFrame:self.hostView.bounds];
self.hostView.hostedGraph = graph;


// 2 - Set graph title
NSString *title = @"Your Quadratic";
graph.title = title;

// 3 - Create and set text style
CPTMutableTextStyle *titleStyle = [CPTMutableTextStyle textStyle];
titleStyle.color = [CPTColor whiteColor];
titleStyle.fontName = @"Helvetica-Bold";
titleStyle.fontSize = 16.0f;
graph.titleTextStyle = titleStyle;
graph.titlePlotAreaFrameAnchor = CPTRectAnchorTop;
graph.titleDisplacement = CGPointMake(0.0f, 10.0f);

// 4 - Set padding for plot area
[graph.plotAreaFrame setPaddingTop:30.0f];
[graph.plotAreaFrame setPaddingRight:30.0f];
[graph.plotAreaFrame setPaddingLeft:30.0f];
[graph.plotAreaFrame setPaddingBottom:30.0f];

// 5 - Enable use interaction for plot space
CPTXYPlotSpace *plotSpace = (CPTXYPlotSpace *)graph.defaultPlotSpace;
plotSpace.allowsUserInteraction = YES;
}

- (void)configurePlots
{
// 1 - Get graph and plot spaces and set axis
CPTGraph *graph = self.hostView.hostedGraph;
CPTXYPlotSpace *plotSpace = (CPTXYPlotSpace *) graph.defaultPlotSpace;

float xAxisMin = XAXISMIN;
float xAxisMax = XAXISMAX;
float yAxisMin = YAXISMIN;
float yAxisMax = YAXISMAX;

plotSpace.xRange = [CPTPlotRange plotRangeWithLocation:CPTDecimalFromFloat(xAxisMin) length:CPTDecimalFromFloat(xAxisMax - xAxisMin)];
plotSpace.yRange = [CPTPlotRange plotRangeWithLocation:CPTDecimalFromFloat(yAxisMin) length:CPTDecimalFromFloat(yAxisMax - yAxisMin)];

// 2 - Create the plot
CPTScatterPlot *quadGraph = [[CPTScatterPlot alloc] init];
quadGraph.dataSource = self;
quadGraph.identifier = @"Your data";
CPTColor *quadColor = [CPTColor blackColor];
[graph addPlot:quadGraph toPlotSpace:plotSpace];

// 4 - Create styles and symbols
CPTMutableLineStyle *quadLineStyle = [quadGraph.dataLineStyle mutableCopy];
quadLineStyle.lineWidth = 2.5;
quadLineStyle.lineColor = quadColor;
quadGraph.dataLineStyle = quadLineStyle;

CPTMutableLineStyle *quadSymbolLineStyle = [CPTMutableLineStyle lineStyle];
quadSymbolLineStyle.lineColor = quadColor;

CPTPlotSymbol *quadSymbol = [CPTPlotSymbol ellipsePlotSymbol];
quadSymbol.fill = [CPTFill fillWithColor:quadColor];
quadSymbol.lineStyle = quadSymbolLineStyle;
quadSymbol.size = CGSizeMake(6.0f, 6.0f);
quadGraph.plotSymbol = quadSymbol;

}

- (void)configureAxes
{
// 1 - Create styles
CPTMutableTextStyle *axisTitleStyle = [CPTMutableTextStyle textStyle];
axisTitleStyle.color = [CPTColor whiteColor];
axisTitleStyle.fontName = @"Helvetica-Bold";
axisTitleStyle.fontSize = 12.0f;
CPTMutableLineStyle *axisLineStyle = [CPTMutableLineStyle lineStyle];
axisLineStyle.lineWidth = 2.0f;
axisLineStyle.lineColor = [CPTColor whiteColor];
CPTMutableTextStyle *axisTextStyle = [[CPTMutableTextStyle alloc] init];
axisTextStyle.color = [CPTColor whiteColor];
axisTextStyle.fontName = @"Helvetica-Bold";    
axisTextStyle.fontSize = 11.0f;
CPTMutableLineStyle *tickLineStyle = [CPTMutableLineStyle lineStyle];
tickLineStyle.lineColor = [CPTColor whiteColor];
tickLineStyle.lineWidth = 2.0f;
CPTMutableLineStyle *gridLineStyle = [CPTMutableLineStyle lineStyle];
tickLineStyle.lineColor = [CPTColor blackColor];
tickLineStyle.lineWidth = 1.0f;

// 2 - Get axis set
CPTXYAxisSet *axisSet = (CPTXYAxisSet *) self.hostView.hostedGraph.axisSet;

// 3 - Configure x-axis
CPTAxis *x = axisSet.xAxis;
x.title = @"X Axis"; 
x.titleTextStyle = axisTitleStyle;    
x.titleOffset = 1.0f;
x.axisLineStyle = axisLineStyle;
x.labelingPolicy = CPTAxisLabelingPolicyEqualDivisions; //CPTAxisLabelingPolicyNone;
x.labelTextStyle = axisTextStyle;    
x.majorTickLineStyle = axisLineStyle;
x.majorTickLength = 4.0f;
x.tickDirection = CPTSignPositive; //CPTSignNegative;

// 4 - Configure y-axis
CPTAxis *y = axisSet.yAxis;    
y.title = @"Y Axis";
y.titleTextStyle = axisTitleStyle;
y.titleOffset = -40.0f;       
y.axisLineStyle = axisLineStyle;
y.majorGridLineStyle = gridLineStyle;
y.labelingPolicy = CPTAxisLabelingPolicyEqualDivisions;
y.labelTextStyle = axisTextStyle;    
y.labelOffset = 16.0f;
y.majorTickLineStyle = axisLineStyle;
y.majorTickLength = 4.0f;
y.minorTickLength = 2.0f;    
y.tickDirection = CPTSignNegative;

}

@end

Así que espero que alguien me permita saber dónde borrar mis datos / gráficos para que solo tenga un gráfico en la pestaña del gráfico a la vez. Muchas gracias de antemano!

Respuestas a la pregunta(2)

Su respuesta a la pregunta