1

下面是我的代码。但是我怎么知道这个字符是否来自字母表?(任何字母,不仅仅是 az)

- (void)keyDown:(NSEvent *)theEvent
{
    NSString * const character = [theEvent charactersIgnoringModifiers];
}
4

1 回答 1

2

您可以使用NSCharacterSet

- (void)keyDown:(NSEvent *)theEvent
{
    NSString * const character = [theEvent charactersIgnoringModifiers];
    if ([character length] > 0)
    {
        unichar c = [character characterAtIndex:0];
        NSCharacterSet *letters = [NSCharacterSet letterCharacterSet];
        if ([letters characterIsMember:c])
        {
            NSLog(@"that's a letter!");
        }
    }
}

如果您经常调用此代码,则可能需要将其存储letters为实例变量。

于 2013-03-04T11:24:48.040 回答