X-Git-Url: https://git.yukkurigames.com/?p=enjoyable.git;a=blobdiff_plain;f=Classes%2FNJKeyInputField.m;h=a03f23830d5272758f29ae4320bc9d031f48b643;hp=814fdfe9ee1bfe7b1aa50817ac44a55f3fd5179c;hb=ef24a9ad6b36ca8a47c878c02b79b30e43933197;hpb=9a400b562a83ed0ef9449cded72152d1e4860f5c diff --git a/Classes/NJKeyInputField.m b/Classes/NJKeyInputField.m index 814fdfe..a03f238 100644 --- a/Classes/NJKeyInputField.m +++ b/Classes/NJKeyInputField.m @@ -22,7 +22,8 @@ CGKeyCode NJKeyInputFieldEmpty = 0xFFFF; - (void)clear { self.keyCode = NJKeyInputFieldEmpty; - [self.keyDelegate keyInputFieldDidClear:self]; + if ([self.delegate respondsToSelector:@selector(keyInputFieldDidClear:)]) + [self.delegate keyInputFieldDidClear:self]; [self resignIfFirstResponder]; } @@ -179,10 +180,12 @@ CGKeyCode NJKeyInputFieldEmpty = 0xFFFF; if ((event.modifierFlags & IGNORE) && event.keyCode == 0x33) { // Allow Alt/Command+Backspace to clear the field. self.keyCode = NJKeyInputFieldEmpty; - [self.keyDelegate keyInputFieldDidClear:self]; + if ([self.delegate respondsToSelector:@selector(keyInputFieldDidClear:)]) + [self.delegate keyInputFieldDidClear:self]; } else if (!(event.modifierFlags & IGNORE)) { self.keyCode = event.keyCode; - [self.keyDelegate keyInputField:self didChangeKey:self.keyCode]; + if ([self.delegate respondsToSelector:@selector(keyInputField:didChangeKey:)]) + [self.delegate keyInputField:self didChangeKey:self.keyCode]; } [self resignIfFirstResponder]; } @@ -204,8 +207,17 @@ CGKeyCode NJKeyInputFieldEmpty = 0xFFFF; // modifiers are still down. if (!(theEvent.modifierFlags & NSDeviceIndependentModifierFlagsMask)) { self.keyCode = theEvent.keyCode; - [self.keyDelegate keyInputField:self didChangeKey:_keyCode]; + if ([self.delegate respondsToSelector:@selector(keyInputField:didChangeKey:)]) + [self.delegate keyInputField:self didChangeKey:_keyCode]; } } +- (void)setDelegate:(id)delegate { + [super setDelegate:delegate]; +} + +- (id )delegate { + return (id)[super delegate]; +} + @end