Класс Item
определяется как одноэлементный. Не предусмотрено одноэлементных подклассов NSManagedObject. Контекст не поймет, как с этим справиться.
Этот код имеет мало смысла. Здесь вы инициализируете одиночный объект Item
:
[manager addNewObject:[Item itemWithDescription:@"testing" dateSet:[NSDate date] fullfillBy:[NSDate date]]]
... но вы не присоединяете его к контексту перед передачей его методу addNewObject:
. В свою очередь этот метод создает другой экземпляр Item, а затем заполняет его значениями предполагаемого синглтона. Зачем? Если ваш одноэлементный код действительно работает, каждый раз, когда вы создаете экземпляр Item, вы получаете один и тот же объект обратно. Какой смысл создавать еще одну ссылку на синглтон и устанавливать свои собственные значения для себя. Если синглтон-код не работает, зачем вообще использовать синглтон?
Использует именно так, поэтому у синглетонов такой плохой представитель. Не используйте синглтоны, если у вас нет большого опыта работы с ними, и они абсолютно необходимы. В этом коде нет ничего, что указывало бы на то, что вам нужен синглтон, и Core Data определенно не нравится им.