Это, вероятно, основной вопрос новичков, но я застрял на этом. Попытка настроить Core Plot, но есть некоторые проблемы.NSGraphicsContext currentContext возвращает nil
Посмотрев на CPTestApp, я пытаюсь просто нарисовать что-либо, но всегда получаю крах в CPTPlatformSpecificFunctions, потому что NSGraphicContext равен нулю.
void CPTPushCGContext(CGContextRef newContext)
{
if (newContext) {
if (!pushedContexts) {
pushedContexts = [[NSMutableArray alloc] init];
}
[pushedContexts addObject:[NSGraphicsContext currentContext]];
[NSGraphicsContext setCurrentContext:[NSGraphicsContext graphicsContextWithGraphicsPort:newContext flipped:NO]];
}
}
Почему [NSGraphicsContext currentContext] возвращает nil? Буду признателен за любые намеки. Демо-приложение, похоже, вызывает init из делегата приложения, подобного мне.
EDIT, вот мой вызов Coreplot:
ApplicationDeletegate.h
#import <CorePlot/CorePlot.h>
@property (nonatomic, readwrite, strong) IBOutlet CPTGraphHostingView *graphHostView;
ApplicationDeletegate.m (да, я знаю, вы не должны так много кода здесь)
-(void)awakeFromNib
{
[super awakeFromNib];
[self setupGraph];
}
-(void)setupGraph
{
CPTGraph *graph = [[CPTXYGraph alloc] initWithFrame:graphHostView.bounds];
graph.plotAreaFrame.masksToBorder = NO;
graphHostView.hostedGraph = graph;
[graph applyTheme:[CPTTheme themeNamed:kCPTPlainBlackTheme]];
graph.paddingBottom = 30.0f;
graph.paddingLeft = 30.0f;
graph.paddingTop = -1.0f;
graph.paddingRight = -5.0f;
CPTMutableTextStyle *titleStyle = [CPTMutableTextStyle textStyle];
titleStyle.color = [CPTColor whiteColor];
titleStyle.fontName = @"Helvetica-Bold";
titleStyle.fontSize = 16.0f;
NSString *title = @"Portfolio Prices: April 23 - 27, 2012";
graph.title = title;
graph.titleTextStyle = titleStyle;
graph.titlePlotAreaFrameAnchor = CPTRectAnchorTop;
graph.titleDisplacement = CGPointMake(0.0f, -16.0f);
}
Is awakeFromNib слишком рано? Я что-то пропустил?
Убедитесь, что все взаимодействия с Основным участком происходят в основном потоке (установки, источник данных и т.д.) , Пожалуйста, разместите свой установочный код графика. –
добавил мой супер базовый код установки. – jannej
Код, который вы отправили, выглядит отлично. Какую версию Core Plot, Xcode и OS X вы используете? –