Skip to content

Latest commit

 

History

History
37 lines (26 loc) · 1.53 KB

Extension function over platform class.md

File metadata and controls

37 lines (26 loc) · 1.53 KB

Extension function over platform class

Статус Ожидание Реальность
⚠️ Функцию можно использовать на объекте платформенного класса Появляется класс-обёртка с методом, принимающим объект нужного класса

Пояснения

Платформенный класс - это, например, какой-то примитивный тип, или же класс, специфичный для определённой платформы (Bundle для Android, UILabel для iOS, etc.).

В Kotlin-е нет разницы в использовании extension-а над обычным или платформенным классом:

// StringExt.kt

fun String.myExtensionFunction() {
    // do something
}

private fun example() {
    "123".myExtensionFunction()
}

После перехода в Swift разница проявляется в появлении класса-обёртки для вызова функции:

func example() {
    StringExtKt.myExtensionFunction(receiver: "123")
}

См. moko-kswift overview


Оглавление