NSFormatter показать ошибку
Я сделал собственный подкласс NSFormatter и хочу вернуть сообщение об ошибке
однако присвоение ошибки и возвращение valid = NO не помогает (ошибка не отображается)
- (BOOL)isPartialStringValid:(NSString **)partialStringPtr
proposedSelectedRange:(NSRangePointer)proposedSelRangePtr
originalString:(NSString *)origString
originalSelectedRange:(NSRange)origSelRange
errorDescription:(NSString **)error
{
BOOL valid = YES;
NSString *proposedString = *partialStringPtr;
if ([proposedString length] < self.minLength) {
*error = @"TOO SHORT";
valid = NO;
}
return valid;
}
Я не использую привязки
1 ответ
Я думаю, что у вас проблема, потому что NSControl (который проверяет пользовательский ввод) не имеет делегата с реализованным методом ( dcumentation):
control:didFailToValidatePartialString:errorDescription:
Если вы хотите, чтобы @"TOO SHORT" отображалось в текстовом поле вместо введенной пользователем строки, вы можете вернуть @"TOO SHORT" в newString метода:
- (BOOL)isPartialStringValid:(NSString *)partialString
newEditingString:(NSString **)newString
errorDescription:(NSString **)error