Как вернуть NSMutableArray из NSSet

Я могу помещать содержимое NSSet в NSMutableArray следующим образом:

NSMutableArray *array = [set allObjects];

Компилятор жалуется, потому что [set allObjects] возвращает NSArray не a NSMutableArray. Как это должно быть исправлено?

Ответ 1

Так как -allObjects возвращает массив, вы можете создать изменяемую версию с помощью:

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

Или, наоборот, если вы хотите обработать право собственности на объект:

NSMutableArray *array = [[set allObjects] mutableCopy];

Ответ 2

Я решил сбой с помощью метода NSMutableArray "addObjectsFromArray", чтобы присвоить всем объектам NSSet значение NSMutableArray, например:

[mutableArray addObjectsFromArray:[cg_Schedule.schedule_Days allObjects]];

Надеюсь, это поможет вам.

Ответ 3

Для упорядоченного набора используйте:

NSArray *myArray = [[myOrderedSet array] mutableCopy];