2015-01-26 2 views
0

У меня есть простой NSMO, у которого есть поле отношений. Иногда мне нужно удалить отношения, но сохранить объект. Вот объект, это имеет отношение к одному к человеку (человек должен многим вернуться к LineUp):Как установить отношение данных ядра к NSNull()?

@objc (LineUp) 
class LineUp: NSManagedObject { 
    @NSManaged var roleType: String 
    @NSManaged var roleName: String 
    @NSManaged var person: Person 
} 

Тогда, когда я пытаюсь сделать это:

for role in arrayOfRoles as [LineUp] { 
    if someCondition == true { 
     role.person = NSNull() 
     moc.save(&error) 
    } 
} 

Я просто получить «NSNull не конвертируется в Person». Мое обход очевидное и дорогое: я удаляю и воссоздаю объект. Какие-нибудь советы?

Update post answer: Я пытался установить свои отношения с нуля с другой стороны. IE для человека в personArray { для роли в person.roles { если someCondition == верно { role.person = ноль }} }

Если я просто получить идентификатор объекта роли, то оттуда это работает. Но не тогда, когда я нахожусь на «много» стороне отношений. Ничего страшного, извините за такой глупый вопрос.

ответ

2

Установив его на nil, вы указываете, что на другом конце отношений нет ничего. NSNull используется, когда вы хотите представить нуль в коллекции Objective-C и более или менее устаревают с помощью опций.

+0

Клянусь, я уже это пробовал .. вы не представляете, как сильно я пинаю себя прямо сейчас ... спасибо :) – wellspokenman

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