Вы можете попробовать NSMutableOrderedSet.
Вот что они говорят в AppleDocumentation:
"Вы можете использовать упорядоченные наборы в качестве альтернативы массивам при заказе
элементов важно и производительность в тестировании, является ли объект
содержится в наборе является соображением - тестирование на членство
массив медленнее, чем проверка на членство в наборе. "
Проверка наличия определенного товара в корзине может быть сложной и неэффективной - использование NSMutableOrderedSet избавит вас от этой проблемы. Это очень похоже на NSMutableArray, но более эффективно для этой функции.