Где опционально?символ перейти в условный актерский состав?В чем различия?
Вот мой тестовый код в Playground с предупреждением, где мой комментарий говорит "// предупреждение".
import UIKit
import CloudKit
let int: UInt8 = 1
let data: Data = Data([int])
let record: CKRecord = CKRecord(recordType: "record_type")
record.setObject(data as __CKRecordObjCValue?, forKey: "field")
record.setObject(data as? __CKRecordObjCValue, forKey: "field") // warning
В предупреждающем сообщении написано:
Условное приведение из 'Data' к '__CKRecordObjCValue' всегда успешно
Как Xcode интерпретирует каждый пример в зависимости от того, где необязательный?Марк идет?
Если я сделаю переменную данных Data?вместо этого, как в приведенном ниже коде, предупреждение изменяется на:
Условное понижение с «Данные?»в __CKRecordObjCValue - мостовое преобразование;Вы хотели использовать «как»?
import UIKit
import CloudKit
let int: UInt8 = 1
let data: Data? = Data([int])
let record: CKRecord = CKRecord(recordType: "record_type")
record.setObject(data as __CKRecordObjCValue?, forKey: "field")
record.setObject(data as? __CKRecordObjCValue, forKey: "field")
Что такое мостовое преобразование?