Поддерживает ли Swift неявное преобразование?

Например, у меня есть следующий код:

    let numberOfBlocks = 3
    let blockWidth = SKSpriteNode(imageNamed: "image.png").size.width
    let padding = 20.0

    let offsetX : Float = (self.frame.size.width - (blockWidth * numberOfBlocks + padding * (numberOfBlocks-1))) / 2

Я получил ошибку:

Double не конвертируется в UInt8

Есть ли способ неявного преобразования типа данных (возможно, только для примитивного типа данных)?

Редактировать:

Я знаю, как сделать явное преобразование с помощью конструктора определенного типа, какIducool предложил. Но это не сильно помогает моему вопросу, потому что мы даже не знаем, куда добавить конверсии. Я упростила свое выражение на детской площадке:

Проблема в переменной "padding", сообщение об ошибке

Double не конвертируется в UInt8.

Итак, я сделал преобразование:

Тогда проблема в переменной "blockWidth" сейчас.

Я добавил преобразование снова:

И сообщение об ошибке:

Тип 'UInt8' не соответствует протоколу 'FloatLiteralCovertible'

Последнее рабочее выражение:

Это просто и быстро? Я так не думаю.

Ответы на вопрос(3)

Ваш ответ на вопрос