Количество недостающих элементов между двумя наборами (Objective C)

#objective-c #comparison #nsset

#objective-c #сравнение #nsset

Вопрос:

Я пытаюсь оптимизировать запрос, в котором я хочу получить «достаточно близкий» ответ.

У меня есть два набора: A и B.

Набор A содержит 1, 2, 3, 5, 6, 7, 8 Набор B содержит 1, 2, 3, 4

Что я хотел бы сделать, так это проверить B против A таким образом, чтобы он сказал мне, что 1 элемент отсутствует (в данном случае 4).

Есть ли более чистый и эффективный способ сделать это, помимо простого перехода по элементам и сравнения?

Ответ №1:

 NSMutableSet *resultSet = [NSMutableSet setWithArray:B];
NSSet *setA = [NSSet setWithArray:A];
[resultSet minusSet:setA];
Array *result = [resultSet allObjects];
  

Ссылка : NSMutableSet

Комментарии:

1. Хорошее решение, но, скорее всего, вы имели в виду наоборот. Удалив setA из setB, вы будете точно знать, какие элементы из setB отсутствуют в setA. И это даст желаемые результаты.

2. @TotumusMaximus: извините, я вышел.. так что не могу редактировать. код спасибо за редактирование 🙂

3. Мое сердце просто пропустило удар.