Скажем, у меня есть следующий класс Objective-C:
@interface Foo {
int someNumber;
NSString *someString;
}
и по причинам, о которых я не буду здесь говорить, я хочу использовать KVC для общего обновления значений этих переменных:
[f setValue:object forKey:@"someNumber"];
or
[f setValue:object forKey:@"someString"];`
Если object
является строкой, и я обновляю переменную someNumber
, мне кажется, мне нужно знать, как использовать NSNumberFormatter для получения NSNumber, а затем Cocoa автоматически преобразует его в int внутри setValue:forKey:
.
Есть ли способ избежать этого пользовательского кода и заставить Какао выводить преобразование в int из строки, или мне нужно каждый раз перехватывать эту ситуацию и обрабатывать ее самостоятельно?