#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. Мое сердце просто пропустило удар.