Вы устанавливаете свойство после создания нового экземпляра. Правила проверки (например, являются ли отношения необязательными и т. Д.) Применяются только при сохранении, хотя их можно проверить раньше с помощью определенных методов. Это означает, что вы можете создать объект, настроить свойства и отношения, а затем сохранить. Так что в этом случае вы, вероятно, захотите что-то вроде
NSManagedObject *newObject = [NSEntityDescription insertNewObjectForEntityForName:[entity name] inManagedObjectContext:context];
[newObject setValue:entity forKey:@"relationship"];
// now the object should be valid when you call save