当空格键被击中时记录时间

时间:2012-09-28 19:22:54

标签: objective-c cocoa

我试图在空格键被击中时记录HH:MM:SS的时间。我在我的研究中发现它更容易使用cocoa然后基础,因为cocoa有一个可以感知击键的NSEvent类。有一个类似的问题询问如何感知双重空格键击中但它不满足如何将其与我的程序相关联。

以下代码:

NSDate *startTime = [NSDate date ];
NSTimeInterval elaspedTime = [startTime timeIntervalSinceNow];

-(void)sendEvent:(NSEvent *) theEvent{
    NSString* spaceBarPressed = [ theEvent characters ];
    if( [spaceBarPressed isEqualToString:@"" ] ){
        if(theEvent.type == NSKeyDown )
            NSLog(@"Space bar hit" );
    }
}

1 个答案:

答案 0 :(得分:7)

可以这样做:

- (void)keyDown:(NSEvent *)theEvent { 

    if ([theEvent keyCode] == 49) { //Spacebar keyCode is 49
        NSLog(@"Time is: %@", [NSDateFormatter localizedStringFromDate:[NSDate date] dateStyle:NSDateFormatterNoStyle timeStyle:NSDateFormatterMediumStyle]);
    }
}