Как записать метод проверки значения для базовых данных?

В документах говорится:

необходимо реализовать методы формы validate:error: как определено протоколом NSKeyValueCoding

так позволяет, говорят, что у меня есть атрибут, который является интервалом: friendAge

Я хочу удостовериться, что любой друг не может быть моложе, чем 30. Таким образом, как я сделал бы тот метод проверки?

-validateFriendAge:error:

Что я собираюсь сделать там, точно? И что я сделаю с этим NSError, я передаюсь? Я думаю, что это имеет словарь, куда я могу возвратить по-человечески читаемую строку на произвольном языке (т.е. тот, это в настоящее время используется), таким образом, я могу произвести разумную ошибку как: "Друг не является достаточно взрослым"..., как сделать это?

1
задан dontWatchMyProfile 7 June 2010 в 20:18
поделиться

1 ответ

Вы можете делать там все, что хотите. Вы можете подтвердить, что возраст находится между диапазонами или любой другой логикой, которую вы хотите.

Предполагая, что существует проблема, вы заполняете ошибку и имеете по крайней мере значение для NSLocaliedDescriptionKey . Затем эта ошибка будет передана обратно в пользовательский интерфейс или в другое значение, из которого устанавливается это значение, и позволит вам обработать ошибку проверки. Это означает, что если есть другая полезная информация, которая может вам понадобиться в методе вызова / настройки, вы можете добавить ее в NSError здесь и получить ее.

Например:

-(BOOL)validateFreindAge:(NSNumber*)ageValue error:(NSError **)outError 
{
    if ([ageValue integerValue] <= 0) {
        NSString *errorDesc = @"Age cannot be below zero.";
        NSDictionary *dictionary = [NSDictionary dictionaryWithObject:errorDesc forKey:NSLocalizedDescriptionKey];
        *error = [NSError errorWithDomain:@"MyDomain" code:1123 userInfo:dictionary];
        return NO;
    }
    return YES;
}
2
ответ дан 2 September 2019 в 23:59
поделиться
Другие вопросы по тегам:

Похожие вопросы: