NSInvalidArgumentException',原因:' - [__ NSCFConstantString sizeWithTextStyle:]:无法识别的选择器发送到实例0x170838

时间:2014-02-06 15:43:45

标签: ios iphone cocoa-touch core-plot linechart

使用coreplot库处理折线图。它抛出Invalid Argument异常。 我已经创建了septate项目并创建了xib文件,并且已经将该xib文件与CPDScatterPlotViewController连接起来。它运行和工作,但当我尝试与我的项目集成时,它会抛出异常。 使用此代码:

#import "CPDScatterPlotViewController.h"

@implementation CPDScatterPlotViewController

@synthesize hostView = hostView_;

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

-(void)didReceiveMemoryWarning {
    // Releases the view if it doesn't have a superview.
    [super didReceiveMemoryWarning];
    // Release any cached data, images, etc that aren't in use.
}

#pragma mark - UIViewController lifecycle methods
-(void)viewDidAppear:(BOOL)animated {
    [super viewDidAppear:animated];
    [self initPlot];
}

#pragma mark - Chart behavior
-(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];    
}

调试时在CPTMutableTextStyle上出现错误。

 -(void)configureGraph {
        // 1 - Create the graph
        CPTGraph *graph = [[CPTXYGraph alloc] initWithFrame:self.hostView.bounds];
        [graph applyTheme:[CPTTheme themeNamed:kCPTDarkGradientTheme]];
        self.hostView.hostedGraph = graph;
        // 2 - Set graph title
        NSString *title = @"Portfolio Prices: April 2012";
        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 setPaddingLeft:30.0f];    
        [graph.plotAreaFrame setPaddingBottom:30.0f];
        // 5 - Enable user interactions for plot space
        CPTXYPlotSpace *plotSpace = (CPTXYPlotSpace *) graph.defaultPlotSpace;
        plotSpace.allowsUserInteraction = YES; 
    }


    @end

1 个答案:

答案 0 :(得分:4)

试试此链接......这会对你有所帮助

http://docs.millennialmedia.com/iOS-SDK/iOSAddingLinkerFlag.html