我有一个名为MyView
的课程,其方法-(void)drawBoxes:(NSColor*)aColor
可以在视图中的随机位置绘制20个特定颜色的小方块。
我的应用代表包含成员MyView* myView
。
这是我的app委托的.m
文件:
@implementation RSTAppDelegate
@synthesize myView;
@synthesize window;
- (void)applicationDidFinishLaunching:(NSNotification *)aNotification
{
NSLog(@"Application launched!");
[self.myView drawBoxes:[NSColor greenColor]];
}
-(IBAction)buttonFunction:(id)sender
{
NSLog(@"button pressed");
[self.myView drawBoxes:[NSColor redColor]];
}
@end
这是drawBoxes
中的MyView
函数:
-(void)drawBoxes:(NSColor*)aColor
{
for (int n=0;n<20;n++)
{
NSRect xRect = NSMakeRect(rand()%100,rand()%100,10, 10);
[aColor set];
NSRectFill(xRect);
}
}
问题
我将按钮连接到buttonFunction
方法。我运行该程序,drawBoxes
方法中的applicationDidFinishLaunching
方法被调用没问题,并出现20个绿色方块。
但是,当我点击我的按钮时,不会绘制任何红色框。控制台确认按钮已按下并正确连接,但出于某种原因,drawBoxes
没有绘制我的框。
思想?