NSMutableOrderedSet to NSMutableArray

array = [NSMutableArray arrayWithArray:[set allObjects]];

Это сработало NSSet, но как мне заставить его работать с NSMutableOrderedSet?

1 ответ

Решение

В классе NSOrderedSet есть метод для получения массива [orderedSet array], Вы можете сделать [array mutableCopy] чтобы получить изменяемый массив.

или использовать [NSMutableArray arrayWithArray:[set array]]; Если вы предпочитаете.

однако следует помнить об этом:

Это возвращает прокси-объект для получения упорядоченного набора, который действует как неизменный массив. Хотя вы не можете изменить порядок упорядоченного набора через этот прокси-сервер, мутации в исходном упорядоченном наборе будут отражены в прокси-сервере, и, как представляется, он самопроизвольно изменится, поскольку копия упорядоченного набора не создается.

в основном вы должны скопировать массив, если вы не хотите такого поведения.

Другие вопросы по тегам