rudolf.hladik
09/10/2018, 2:06 PMSam
09/10/2018, 2:16 PMrudolf.hladik
09/10/2018, 2:24 PMrudolf.hladik
09/10/2018, 2:48 PM// common module
sealed class Option<out T>
data class Some<T>(val value: T): Option<T>()
object None : Option<Nothing>()
fun <T> T?.toOption(): Option<T> = this?.let { Some(it) } ?: None
fun getOption(): Option<String> {
return "OK".toOption()
}
// iOS app
func get() {
let stringValue = getOption()
if let stringValue as? Some { stringValue.value }
else { print("value not present") }
}
Sam
09/10/2018, 2:58 PM