it-swarm.com.ru

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

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

NSMutableArray *array = [set allObjects];

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

103
node ninja

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

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

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

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