2013-09-21 10 views
0

У меня всегда есть мои основные объекты данных для использования подклассов NSManagedObject.Ссылка на объект из его класса

Внутри этих классов у меня всегда есть методы, как этот

+ (Entity *)newItemWithName:(NSString *)name InManagedObjectContext:(NSManagedObjectContext *)context { 

// bla bla bla 

и внутри этих методов вы будете в конечном итоге найти что-то вроде

anItem = [NSEntityDescription insertNewObjectForEntityForName:@"Entity" inManagedObjectContext:context]; 
anItem.name = name; 

Моя проблема заключается в @ «Entity».

Есть ли способ ссылаться на имя сущности из этих методов без необходимости вводить имя объекта каждый раз и минимизировать вероятность опечатки/ошибки? или, другими словами, есть что-то еще, что можно было бы там обнаружить, чтобы определить имя объекта самостоятельно?

спасибо.

ответ

2

Вы можете использовать NSStringFromClass([self class]).

Однако это также является хрупким, поскольку вы можете изменить имя класса реализации в IB.

+0

Что вы подразумеваете под хрупкой? Если имя изменилось в IB, не изменилась бы и строка? В каких обстоятельствах это может потерпеть неудачу? – SpaceDog

+1

Если вы посмотрите на IB, вы увидите, что можно определить имя для сущности и имя класса для объекта. так как они могут меняться друг от друга: ! = 'NSStringFromClass ([self class])' и вставка не будет выполнена. –

+0

AH, я вижу, но в моем случае я всегда придерживаюсь одинакового имени для обоих, но я буду следить за ним. По крайней мере, это облегчит 99% вещей. Благодарю. – SpaceDog

Смежные вопросы