Я пытаюсь отобразить словарь строк из JSON-выборки в KVC-совместимый NSManagedObject, я могу успешно использовать setValue: forKey:
, но я не вижу, как я могу отображать типы.iOS KVC DRY мутация
Например, я не могу установить дату для любой случайной строки: Printing description of myDate: asdfsadf
Однако это сработало.
Я посмотрел https://stackoverflow.com/a/5345023/828859, который предоставил некоторые полезные ответы. Я могу войти и создать валидацию для каждого отдельного свойства ... но это не кажется очень сухим, потому что больной должен проверять каждую дату и устанавливать значение out отдельно каждый раз, когда у меня есть дата.
Я предпочел бы мутировать по типу, прежде чем использовать setValue: forKey:
, но я не знаю, как распознать тип свойства.
Что я хочу сделать:
switch([object typeforkey:key]){
case @"NSDate":
//...
value = mutatedDate
//...
}
[object setValue:value forKey:key];
Правда, однако я не был ясен в своем вопросе, словарь исходит из ответа JSON, поэтому его словарь строк. – MrJD
А, я вижу. Я не думаю, что есть чистый способ делать то, что вы хотите. Вам либо нужно знать, что ключи впереди времени, так и их типы, и переключить свой тип объекта на основе этого или вам нужно выполнить целую цепочку сканирования строк, чтобы выяснить, с чем вы работаете, и затем проверить. –