Мне нужно небольшое руководство по наилучшей практике с помощью URLSession/NSURLSession
.Лучшая практика URLSession - несколько запросов
Мое требование предусматривает, что я должен выполнять adhoc/периодические запросы HTTP GET. т. е. каждые несколько минут, то, возможно, каждые 30 секунд, меняется по желанию.
Во всяком случае, я достиг этого, как следует, у меня есть метод, который содержит код, как это:
let urlRequest = URLRequest(url: url)
// set up the session
let config = URLSessionConfiguration.default
let session = URLSession(configuration: config)
// make the request
let task = session.dataTask(with: urlRequest, completionHandler: { (data, response, error) in ...
, который держит в URLSession рамках этого метода.
Так некоторые вопросы:
1) является ли это право способ добиться того, что я ищу, или я должен иметь URLSession в рамках уровня класса и создать несколько «задач»? - если так, то я должен позвонить. исправить каждую задачу?
2) если это приемлемая парадигма использования для URLSession, я теряю память (не думайте так с ARC)? Я спрашиваю, как заметил, что объект URLSession, кажется, остается вне области применения метода, где я называю его/заменяю его каждый раз. (Я проверяю это с помощью WEAK ссылки на объект, который я периодически проверяю).
3) есть ли более простой способ получить один и тот же URL-адрес на основе adhoc с URLSession? Я чувствую, что NSURLConnection справляется с этим, но его устарело.
Можете ли вы просто использовать 'URLSession.default.dataTask (...)'? Это касается проблем с памятью/ARC. Что касается вашего кода, 'URLSession' должен быть жив, по крайней мере, достаточно долго, чтобы завершить блок завершения задачи данных, тогда он должен быть выпущен. – keithbhunter