Некоторое время назад я столкнулся со странной проблемой Swift. Когда я пытаюсь привести объект Swift к NSObjectProtocol в отладке - он выполняется успешно. Но когда этот код выполняется в сборке AppStore, он сбрасывается в ноль.
import Foundation
final class MyClass {
let testP: String = "123"
}
struct MyStruct {
let testP: String = "123"
}
let myClass = MyClass()
let myStruct = MyStruct()
print(myClass) // >> __lldb_expr_1.MyClass
print(myClass as! NSObjectProtocol) // >> __lldb_expr_1.MyClass
print(myStruct as! NSObjectProtocol) // >> __lldb_expr_3.MyStruct(testP: "123")
Когда я приводил struct к NSObjectProtocol, я получаю следующее предупреждение:
Cast from 'MyStruct' to unrelated type 'NSObjectProtocol' always fails
Однако, как вы можете видеть это, успешно печатает мою структуру.
Итак, вопрос: это ошибка или особенность Swift?)
PS: простите за мой французский my