NSMutableOrderedSet для NSMutableArray

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

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

Ответ 1

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

или используйте [NSMutableArray arrayWithArray:[set array]];, если хотите.

помните об этом, однако:

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

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