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 に答える