ObjC - 方法适用于应用程序启动,但不适用于按下按钮

时间:2014-05-29 21:50:22

标签: objective-c cocoa

我有一个名为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没有绘制我的框。

思想?

0 个答案:

没有答案