2012-02-27 8 views
0

Возможно ли определить тип объекта из модели CoreData на основе входной строки?Получить тип данных объекта CoreData на основе строки ввода

В моей модели CoreEata myEntity имеется множество объектов типа NSStrings и NSNumbers, например. свойства, такие как «имя», «LastName» и т.д.

В запросе Я хочу, чтобы определить тип объекта (строка или число) для скажем «LastName» на основе входной строки вроде:

if ([myEntity.{lastName} isMemberOfClass:[NSString class]]) {} 

Где {lastName} - это динамический текст.

Возможно ли это?

ответ

3

ли вам Meen что-то вроде этого:

NSString* inputString = @"lastName"; 
if ([[myEntity valueForKey:inputString] isMemberOfClass:[NSString class]]) {} 

Если это так просто будьте осторожны, чтобы проверить строку.

+0

Нет, [myEntity valueForKey: inputString] получает фактическое значение объекта, а не самого объекта. Любое другое предложение? –

+0

@ Бенджамин прав. См. Этот ответ для получения дополнительной информации: http://stackoverflow.com/questions/1062183/objective-c-whats-the-difference-between-objectforkey-and-valueforkey –

+0

Я так не думаю. Это возвращает только значение объекта, но не объект. Я знаю о кодировании KVC, но не мог понять эту однообразную обратную логику. –