Скажем, у меня есть следующий класс 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:
.
Есть ли способ избежать этого пользовательского кода и заставить Cocoa вывести преобразование в int из строки, или мне нужно каждый раз ловить эту ситуацию и обрабатывать ее самостоятельно?