URLSessionConfiguration совместимость между версиями SDK - PullRequest
2 голосов
/ 13 марта 2019

Учитывая следующую игровую площадку:

import Foundation

let config = URLSessionConfiguration.default

let session = URLSession(configuration: config)

let eq = config == session.configuration

Если вы запускаете игровую площадку в Xcode 9.4.1, eq оценивается как true. В Xcode 10.0 eq оценивается как ложное. Я взглянул на Xcode 10 , примечания к выпуску и source для URLSession, и я не уверен, что послужило причиной изменения. Это сломало один из моих тестов, и я почесал голову, почему это сломалось. Есть идеи?

Редактировать : Я понял, что == просто проверяет указатели, а URLSessionConfiguration копируется при инициализации. Меня больше интересует тот факт, что в Xcode 9.4.1 он оценивается как true, что представляется неверным. И то, что он меняется в Xcode 10.

1 Ответ

1 голос
/ 13 марта 2019

URLSession копирует объект конфигурации, а не просто сохраняет его. Поскольку это класс, == вернет true, только если две ссылки относятся к одному и тому же объекту, что больше не имеет места после его копирования.

...