說我有以下的Objective-C類:我如何一般使用KVC更新字段?
@interface Foo {
int someNumber;
NSString *someString;
}
和原因,我不會進入這裏,我想用KVC更新,以通用的方式,對這些變量的值:
[f setValue:object forKey:@"someNumber"];
or
[f setValue:object forKey:@"someString"];`
如果object
是一個字符串,我更新someNumber
變量,看來我需要知道使用NSNumberFormatter獲得一個NSNumber然後可可自動轉換到內部setValue:forKey:
一個int。
有沒有什麼辦法可以避免這個自定義代碼,並讓Cocoa從字符串推斷轉換爲int,還是我需要每次都捕獲這種情況並自己處理它?