我的问题是:我今天似乎无法从numberforplot或numberforplot函数的numberforrecords访问变量(请参阅下面的numberforplot),但我可以从文件中的任何其他位置访问变量。
viewdidLoad中的nslog工作正常,日期设置正确。如果我从我自己的类函数中访问变量,那么这也很好,它也可以工作。但是,当我尝试从NumberForPlot访问它时,会得到一个错误:
程序接收信号:_156;exc_bad_access_157;。
在我的头文件中,我有以下内容-注意,我的类实现了cpplotdatasource。
#import <UIKit/UIKit.h>
#import "CorePlot-CocoaTouch.h"
@interface ResultsGraphViewController : UIViewController <CPPlotDataSource> {
NSManagedObjectContext *managedObjectContext;
CPXYGraph *graph;
NSMutableArray *eventsArray;
NSDate *todaysDate;
}
@property (nonatomic, retain) NSManagedObjectContext *managedObjectContext;
@property (nonatomic, retain) NSMutableArray *eventsArray;
@property (nonatomic, retain) NSDate *todaysDate;
- (void)getEvents;
- (void)configureGraph;
@end
在实现文件中,我有(仅相关突出显示):
@synthesize managedObjectContext;
@synthesize eventsArray;
@synthesize todaysDate;
和
- (void)viewDidLoad {
[super viewDidLoad];
[self setTitle:@"Results"];
todaysDate = [NSDate date];
NSLog(@"Set today's date to %@", todaysDate);
[self getEvents];
[self configureGraph];
}
和
-(NSNumber *)numberForPlot:(CPPlot *)plot
field:(NSUInteger)fieldEnum
recordIndex:(NSUInteger)index
{
NSLog(@"%d events in the array.", [eventsArray count]);
NSLog(@"today's date is %@.", todaysDate);
...
}
(在上面最后两行中,数组中的事件数输出成功,但最后一行会导致错误)。
关于这是个问题的原因,以及我如何解决它,有什么想法吗?我想这和CPplotDataSource有关-这对范围有何影响?
还是我的代码有错误?大家都很感激!