Сравнение словарей NSDictionary в Swift

Сравнение объектов довольно частое занятие. Сравнение словарей может казаться довольно сложным процессом. Но не в Swift. Он элегантно сравнивает объекты словарей без ошибок определяя правильное значение.

Для проведения эксперимента создадим несколько словарей с одинаковыми значениями, разными, в разном порядке и разные словари.

let dic1: [String: AnyObject] = ["key1": 100, "key2": 200]
let dic2: [String: AnyObject] = ["key1": 100, "key2": 200]
let dic3: [String: AnyObject] = ["key1": 100, "key2": 250]
let dic4: [String: AnyObject] = ["key2": 200, "key1": 100]
let dic5: [String: AnyObject] = ["key1": 100, "key2": 200, "key3": 300]

Попробуйте ответить, что будет в результате сравнения.

NSDictionary(dictionary: dic1).isEqualToDictionary(dic2)
NSDictionary(dictionary: dic1).isEqualToDictionary(dic3)
NSDictionary(dictionary: dic1).isEqualToDictionary(dic4)
NSDictionary(dictionary: dic1).isEqualToDictionary(dic5)

Результат сравнения представлен на скриншоте ниже (из Playground). Видно, что сравнение словарей проиходит корректно.

Swift сравнение словарей

Комментарии

comments powered by Disqus