我正在尝试创建一个小的“菜单栏 - 小工具”。所以它不是一个真正的小部件,但它是一个Cocoa-Application,它在Dock中没有图标,但在菜单或状态栏中有一个图标。
您可以通过单击按钮来触发NSTimer,然后它应显示倒计时。但它没有......
- (void)update {
NSTimeInterval interval = [endDate timeIntervalSinceNow];
int _seconds = (int)interval%60;
int _minutes = (((int)interval-_seconds)/60)%60;
int _hours = ((int)interval-_seconds-_minutes*60)%3600;
timeLeft.stringValue = [NSString stringWithFormat:@"%i:%i:%i",_hours,_minutes,_seconds];
NSLog(@"%i:%i:%i",_hours,_minutes,_seconds);
}
那究竟发生了什么?
当我触发计时器时,界面不会更新timeLeft标签。 NSLog()也不会起作用。但如果我关闭盒子,NSLog会告诉我正确的时间,如果我再次打开盒子,它会向我展示正确的选择。但它不会再更新了,直到我再次关闭盒子。
答案 0 :(得分:0)
我用绝对时间(例如下午2:45)替换了相对时间......接口仍未更新,但没关系。