簡體   English   中英

分配不是表達式,在這種情況下只允許使用表達式,我知道它已經討論過了,但是沒有

[英]Assignments are not expressions, and only expressions are allowed in this context i know its alreaduy disccused but didn't unders

分配不是表達式,並且在這種情況下僅允許表達式我不知道如何解決此問題

private  fun uploadImageToFirebaswStorage(){
    if (selectedphotoUri = null) return
    val filename = UUID.randomUUID().toString()
     val ref = FirebaseStorage.getInstance().getReference("/images/$filename")

    ref.putFile(selectedphotoUri!!)
        .addOnSuccessListener {
            Log.d("Register","Successfully uploaded image: ${it.metadata?.path}")}

selectedphotoUri = null是一個分配。 您最有可能希望selectedphotoUri == null (兩個等號),這是等式表達式。

假設您要按照CommonsWare的說明進行相等性檢查,另一種選擇是使用涉及 let的通用Kotlin習慣用語

值= ...

值?.let {... //如果不為null,則執行此塊}

private  fun uploadImageToFirebaswStorage(){
    selectedphotoUri?.let {
        val filename = UUID.randomUUID().toString()
        val ref = FirebaseStorage.getInstance().getReference("/images/$filename")    
        ref.putFile(selectedphotoUri!!)
          .addOnSuccessListener {
              Log.d("Register","Successfully uploaded image: ${it.metadata?.path}")
          }
     }
}  

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM