Вопрос заключается в рисовании декартовой диаграммы, которую я должен создать с некоторыми значениями, вычисленными в моем классе «контроллер». Я написал это в файле .m моего класса контроллера:Как передать значения из класса контроллера классу NSView?
(view1 является istance класса NSView)
for (time=1;time<=duration;time++){
....
...
[view1 setValues:True];
...
}
и в файле .m моего класса NSView:
-(void)setValues:(float)val{
int i=1;
list[i]=val;
//NSLog(@" %f",list[i]);
i++;
}
Теперь, как передать те значения (массив, который я создал со значениями, которые я передал из моего класса контроллера), на «drawRect»?
EDIT:
@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, кажется, не принимать значения ..
реализовать протокол делегата. –
Вы инициализируете i в цикле for? Кроме того, я не согласен с @AnoopVaidya. Похоже, что список ivar содержит значения, передаваемые setValues. Просто обратитесь к списку в drawRect. – danh
@ danh: y не согласен, я думаю, он хочет передать view1 –