2016-06-21 2 views
0

Я использую основные данные в своем приложении и имею дело со многими и многими отношениями между двумя объектами. Моя цель состоит в том, чтобы пользователь мог выбрать, какой из сущностей будет связан с другим объектом, используя табличное представление и пользовательские ячейки.Как использовать NSS для NSMutableSet в Swift

Когда класс для объекта создан, «Списки» задаются как тип NSSet, который имеет смысл, поскольку его не нужно заказывать, и я не хочу больше, чем один из других объектов.

Моя проблема возникает, когда я хочу добавлять элементы в NSSet, я не могу это сделать, насколько я знаю, без использования NSMutableSet. Затем я получаю addObject и removeObject. Я могу заставить все работать, кроме той части, где я инициализирую NSMutableSet, чтобы иметь все, что в настоящее время имеется в списке «Списки» NSSet. Все, что я пробовал, либо говорит мне, что он всегда терпит неудачу и не будет строить, или закончится неожиданным возвратом нуля и ошибками.

Итак, есть способ правильно изменить содержимое NSS или по крайней мере включить NSSet в NSMutableSet, а затем, когда все будет готово, верните NSMutableSet обратно в NSSet?

При необходимости я могу добавить код, но, я думаю, я объяснил это довольно хорошо. Сообщите мне, и я добавлю все необходимые детали.

Заранее спасибо.

+2

'NSManagedObject' имеет метод' mutableSetValueForKey: ' – vadian

ответ

2

просто создать изменяемую копию:

var set = NSSet(objects: "One", "Two", "Three") 
let mutableSet = set.mutableCopy() as! NSMutableSet 
mutableSet.addObject("Four") 
set = mutableSet 
+2

этот ответ не подходит для основных данных – Wain

+0

ОК, извините. «Итак, есть ли способ правильно изменить содержимое NSS или по крайней мере включить NSSet в NSMutableSet, а затем, когда я закончу, верните NSMutableSet обратно в NSSet?» звучал для меня, как есть общая проблема в литье типов ... –

+0

Человек, я знал, что это просто так. Огромное спасибо. Кажется, это сработало! –

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