SDK版本之间的URLSessionConfiguration等效性

时间:2019-03-13 17:51:00

标签: ios swift macos foundation nsurlsessionconfiguration

给出以下游乐场:

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的计算结果为false。我查看了Xcode 10 release notesURLSession的{​​{3}},但不确定是什么导致了更改。它破坏了我的一项测试,而我为这种失败的原因ing之以鼻。有什么想法吗?

编辑:我得到==只是在测试指针,而URLSessionConfiguration是在初始化时复制的。我对它在Xcode 9.4.1中评估为true的事实更感兴趣,这似乎是不正确的。而且它在Xcode 10中会发生变化。

1 个答案:

答案 0 :(得分:1)

URLSession正在复制配置对象,而不仅仅是存储它。由于它是一个类,因此==仅在两个引用都指向同一个对象时才返回true,复制后不再是这种情况。