NSDatePicker 更改日期方法运行两次!?mac 应用程序?

vin*_*ent 5 xcode cocoa objective-c nsdatepicker

我只是在表单中添加一个 NSDatePicker,设置图形样式,然后设置操作,如下所示:

[datePicker setAction:@selector(datePickSelected:)];
Run Code Online (Sandbox Code Playgroud)

在该方法中,它只是打印出选定的日期。

-(void)datePickSelected:(id)sender
{
    NSLog(@"%@",[datePicker dateValue]);
}
Run Code Online (Sandbox Code Playgroud)

它可以工作,但当您单击此日期选择器中的日期时会运行两次。为什么是这样?

2011-05-25 15:17:09.382 xxx[6609:a0f] 2011-05-13 15:17:04 +0800
2011-05-25 15:17:09.677 xxx[6609:a0f] 2011-05-13 15:17:04 +0800
Run Code Online (Sandbox Code Playgroud)

str*_*nge 3

执行此操作可以解决此问题:

- (void) awakeFromNib {
  [datePickerControl sendActionOn:NSLeftMouseDown];  
}
Run Code Online (Sandbox Code Playgroud)