我的问题是关于绘制笛卡尔图,我必须使用在我的类“控制器”中计算的一些值来创建它。我在我的类控制器的文件 .m 中写了这个:
(view1 是 NSView 类的实例)
for (time=1;time<=duration;time++){
....
...
[view1 setValues:True];
...
}
在我的 NSView 类的文件 .m 中:
-(void)setValues:(float)val{
int i=1;
list[i]=val;
//NSLog(@" %f",list[i]);
i++;
}
现在,如何将这些值(使用从控制器类传递的值创建的数组)传递给“drawRect”?
编辑:
@interface viewShapes1 : NSView {
float list[480];
}
-(void)setValues:(float)val;
-(float*)getList;
@end
#import "viewShapes1.h"
@implementation viewShapes1
- (id)initWithFrame:(NSRect)frame {
self = [super initWithFrame:frame];
if (self) {
// Initialization code here.
}
return self;
}
-(void)setValues:(float)val {
int i=1;
list[i]=val;
i++;
}
-(float*)getList {
return list;
}
- (void)drawRect:(NSRect)dirtyRect {
float*ptr=[self getList];
for(int i=1;i<=480;i++){
//element of array:
NSLog(@"%f",ptr[i]);
}
[...]
}
#import "controller.h"
[...]
-(IBAction)start:(id)sender
{
[...]
for(time=1;time<=duration;time=time+1)
{
[...]
[view1 setValues:myValue];
[...]
}
}
问题是 drawRect 似乎没有收到值..