Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
NSAppTransportSecurity.NSAllowsArbitraryLoads — PLEASE NO! Используйте TLS для ВСЕГО, в самом крайнем случае разрешайте доступ без шифрования к ограниченному числу доменов…xxx!) — зло в любом виде, особенно (ОСОБЕННО) в декодировании данных из сторонних источников.Type? (синтаксический сахар к Optional<Type>). Обращаться к таким объектам можно определёнными способами, и один из них — «force unwrap»:let value: Type? = someFunc()
print(value) // выведет Optional(value) или nil
print(value!) // force unwrap - выведет value
if let x = optional { ... }" / "guard let x = optional else { ... ; return }"guard let или if let, то не получим URL и можем потратить какое-то время на поиск ошибки, которая могла быть в опечатке строки для это URL. Но если бы мы использовали let url = URL(string: "https://habr.com")!, ошибку нашли бы на много быстрее, что было бы равносильно assert.let url = URL(string: "https://habr.com")! в приложении, и строка будет неправильной, оно просто упадет, за что пользователи явно не скажут вам спасибо, а менеджер настучит по голове.self.window = UIWindow(frame: UIScreen.main.bounds)
Взаимодействие с сервером через API в iOS на Swift 3. Часть 1