我有一個科特林級以下功能:爲什麼這個Kotlin代碼仍然需要?訪問成員?
private fun raiseResponse(ex: Exception, resObj: JSONObject) {
if (_activity == null || _responseHandler == null) return
_activity.runOnUiThread {
_responseHandler.invoke(ex, resObj)
}
}
如果雙方_activity
和_responseHandler
被定義爲:
var _activity: Activity? = null
var _responseHandler: ((Exception, JSONObject) -> Unit)? = null
然而,調用runOnUiThread
線將只如果我使用?.
代替編譯的.
。
我試過谷歌搜索,但我怕我的術語缺乏。我認爲在raiseResponse
的第一行我的空檢查足以確保?.
是不必要的?
啊好非常好。這是有道理的,'_activity'的範圍意味着它可以在檢查之後但在調用之前被修改。我認爲這可能是這個,但在確認之前不願意做一堆局部變量。 –