13
我有一個持有回調的變量,默認情況下它的值應該爲null。但是這個語法似乎不起作用。如何在Kotlin中爲函數類型變量賦一個空值?
var callback1 :() -> Unit = null
var callback2 : ((a) -> c, b) -> Unit = null
我目前的解決方案是確保回調具有默認實現。
var callback1 :() -> Unit = { }
var callback2 : ((a) -> c, b) -> Unit = { a, b -> }
然而,這使得它很難檢查回調是否被設置,並可能默認實現是以犧牲成本(是這樣的嗎?)。如何爲Kotlin中的函數類型變量賦一個空值?
當我調用可空引用函數,然後我看到錯誤'顯式使用'?.invoke()'任何解決方案? – UnKnown
這很有道理。 'blah?.invoke()'表示「如果它不爲null,則調用blah」,如果blah可能爲null,則這是必需的。解決方案就是要做到這一點。我會更新答案來澄清這一點。 –