data class Ios(val version: Int): Platform() } when (platform) { is Platform.Android -> println(result.name) is Platform.Ios -> println(result.version) } enum Platform { case android(name: String) case ios(version: Int) } switch platform { case .android(name: let name): print(name) case .ios(version: let version): print(version) } Sealed Classes
data class Ios(val version: Int): Platform() } switch platform { case .android(name: let name): print(name) case .ios(version: let version): print(version) } Sealed Classes ཧ
data class Ios(val version: Int): Platform() } switch platform { case .android(name: let name): print(name) case .ios(version: let version): print(version) } switch platform { case let platform as Platform.Android: print(platform.name) case let platform as Platform.Ios: print(platform.version) default: fatalError() } Sealed Classes ཧ
data class Ios(val version: Int): Platform() } switch platform { case .android(name: let name): print(name) case .ios(version: let version): print(version) } switch platform { case let platform as Platform.Android: print(platform.name) case let platform as Platform.Ios: print(platform.version) default: fatalError() } Sealed Classes ཧ ࣮ࡍ
data class Ios(val version: Int): Platform() } switch onEnum(of: platform) { case .android(name: let name): print(name) case .ios(version: let version): print(version) } switch platform { case let platform as Platform.Android: print(platform.name) case let platform as Platform.Ios: print(platform.version) default: fatalError() } Sealed Classes ཧ ࣮ࡍ
data class Ios(val version: Int): Platform() } switch onEnum(of: platform) { case .android(name: let name): print(name) case .ios(version: let version): print(version) } Sealed Classes ཧ
Apis https://medium.com/@aoriani/list/writing-swiftfriendly-kotlin-multiplatform-apis-c51c2b317fce Kotlin-Swift Interopedia https://github.com/kotlin-hands-on/kotlin-swift-interopedia KMP for iOS developers: state & future by Salomon Brys https://kotlinconf.com/2023/talks/387260/ Kotlin Multiplatform Mobile for Teams by Kevin Gilligan https://kotlinconf.com/2023/talks/391895/ Kotlin to Swift Transformations | SKIE Live Demo & QA https://www.youtube.com/watch?v=GK8lJq2Z76Y iOS Development With Kotlin Multiplatform: Tips and Tricks https://www.youtube.com/watch?v=eFzy1BRtHps Extra Resources