и посмотреть медиа
Swift | Interview Questions
и посмотреть медиа
Swift interview questions, tests and tasks for iOS developers in Telegram.
Swift interview questions, tests and tasks for iOS developers in Telegram.
AI bot for text-to-speech and voice cloning in Telegram. Create audio using neural network quickly and easily.
The channel is dedicated to preparing for Swift language interviews. It contains current questions, tests, practical tasks and vacancy information. Ideal for beginner and experienced iOS developers who want to refresh their knowledge and successfully pass interviews.
🤔 Как сравниваются значения в dictionary? В Swift словарь (`Dictionary`) – это неупорядоченная коллекция пар `ключ → значение`, где ключи уникальны. 🟠Сравнение двух словарей (`==`) Swift позволяет сравнивать два словаря по их ключам и значениям, если и ключи, и значения соответствуют протоколу Equatable. let dict1 = ["name": "Alice", "age": "25"] let dict2 = ["name": "Alice", "age": "25"] let dict3 = ["name": "Bob", "age": "30"] print(dict1 == dict2) // ✅ true (значения одинаковые) print(dict1 == dict3) // ❌ false (разные значения) Ошибка при сравнении Dictionary без Equatable Если значения не соответствуют `Equatable`, сравнение не сработает: struct User { let name: String } let dict1 = ["user": User(name: "Alice")] let dict2 = ["user": User(name: "Alice")] // Ошибка: Type 'User' does not conform to protocol 'Equatable' // print(dict1 == dict2) Решение: Сделать User Equatable: struct User: Equatable { let name: String } print(dict1 == dict2) // Теперь работает! 🟠Поиск и сравнение отдельных значений Можно сравнивать отдельные элементы по ключу. let dict = ["name": "Alice", "age": "25"] if dict["name"] == "Alice" { print("Имя совпадает") // ✅ } 🟠Сравнение по ключам (`keys`) и значениям (`values`) Можно сравнить только ключи или только значения. let dict1 = ["name": "Alice", "age": "25"] let dict2 = ["age": "30", "name": "Alice"] print(dict1.keys == dict2.keys) // ✅ true (ключи одинаковые) Сравнение значений print(Set(dict1.values) == Set(dict2.values)) // ✅ true (если порядок неважен) 🟠Сравнение словарей с разными типами (`Any`) Если словарь хранит Any, то прямое сравнение не сработает, и нужно сравнивать элементы вручную. let dict1: [String: Any] = ["name": "Alice", "age": 25] let dict2: [String: Any] = ["name": "Alice", "age": 25] // Функция сравнения словарей с `Any` func areDictionariesEqual(_ dict1: [String: Any], _ dict2: [String: Any]) -> Bool { return NSDictionary(dictionary: dict1).isEqual(to: dict2) } print(areDictionariesEqual(dict1, dict2)) // ✅ true Ставь 👍 и забирай 📚 Базу знаний
Открыть канал и посмотреть медиаOnly registered users can share their opinion.
Be the first to share your impression of this resource!