Дэвид прав. Итак, вот пример использования URLSession.dataTask
. Это должно работать для вас.
if let urlString = self.hall?.studioHallLogo,
let url = URL(string: urlString) {
let task = URLSession.shared.dataTask(with: url) { data, response, error in
guard let data = data, error == nil else { return }
// execute on main thread
DispatchQueue.main.async {
self.tempLogoImage = UIImage(data: data)
}
}
task.resume()
}
Как видите, мы благополучно разворачиваем ваши необязательные вещи, такие как self.hall?.studioHallLogo
, и создаем ваш объект URL
. :) Скоро вам понадобится библиотека для лучшей загрузки изображений с кэшированием. Я хотел бы предложить: Зимородок
Я надеюсь, что это помогает. Удачи.
Это не двигается, изменяющийся код укусил, но как насчет локальной булевской переменной? Перенесите код, который Вы хотите условно пропустить с если оператор. Примите значение по умолчанию он к истинному и повторно инициализируйте его каждый раз. Затем принятие Вас может записать макрос, который изменяет это значение на ложь, можно позволить/запретить очко жизни по требованию.
Никогда делавшийся это прежде, таким образом, можно сказать мне, если макросы не работают как это. Я обычно просто использую редактировать-и-продолжать, комментируя код, который я хочу пропустить. Конечно, это не работает, если код имеет лямбду или анонимный тип/метод в нем все же.
Вы можете обнаруживать, является ли это в режиме отладки, затем используйте, если оператор, чтобы иметь код, не выполненный, вот является большей информацией
Разве Вы не могли использовать компилятор condtitions в этом экземпляре?
#IF Config = "Debug" Then
' do my debug code here
#Else
' do my normal coding here
#End if