新手关于drawRect重画的问题

想做一个关键帧线性插值动画,用NSSlider滑条开控制帧数,即滑条每向右滑一格进入下一帧。这里的动画是关于一条Bezier曲线的,由5个关键点组成,主要是线性插值关键点的起始和终止帧。


drawRect里面是:

- (void)drawRect:(NSRect)rect {

? ??NSRect?bounds = self?bounds];?// Fill the view with green

? ??NSColor?greenColor]?set];

? ??start?moveToPoint:NSMakePoint(120,100)];

? ??NSArray?*startArray = self?startPoint];

? ??NSArray?*endArray = self?endPoint];

?? ?

? ??float?t;

? ??t=(float)sliderValue/50; ? ? ? ? ? ? ? ? ? ? ???//sliderValue是滑块的值 以下为线性插值是代码

? ??NSLog(@"S = %d",?sliderValue);

? ??int?j;

? ??NSPoint?sp;

? ??for(j=0;j<5;j++){

? ? ? ??NSValue?*value1=; ? //这里是两个Bezier曲线,起始图形和终止图形,由5个关键点组成

? ? ? ??NSValue?*value2=;

? ? ? ??NSPoint?sp0,sp1;

? ? ? ??;//NSValue转换回NSPoint

? ? ? ??;//NSValue转换回NSPoint

? ? ? ??sp.x=(1-t)*sp0.x+t*sp1.x;

? ? ? ??sp.y=(1-t)*sp0.y+t*sp1.y;

? ? ? ??start?lineToPoint:sp];

? ??}

? ??start?closePath];

? ??NSBezierPath?fillRect: bounds];

? ??NSColor?whiteColor]?set];start?stroke];?

}

-(void)reloadView ? ? ? ? ? ? ? ? ? ? ? ? ??

{

self?setNeedsDisplay:YES];?//想用setNeedsDisplay重画rect,每次滑块变化调用reloadView函数 但是不起作用

}

-(IBAction)updateLabel:(id)sender {

? ??sliderValue?= slider?intValue];

? ??label?setIntValue:sliderValue];?//数字转字符串

? ??self?reloadView];

?? ?

}

请问一下大神们这是什么原因啊