簡體   English   中英

不能使用類型為“String?”的索引對類型為“[String : Int]”的值進行下標

[英]Cannot subscript a value of type '[String : Int]' with an index of type 'String?'

我有以下代碼。 當它運行時,它會觸發錯誤:無法使用類型為“String?”的索引對類型為“[String : Int]”的值進行下標。

有人可以幫忙嗎

self.books = self.books.filter { $0.completed[MUser.sharedInstance.getUserId()] ?? 0 > 0 }

完成被聲明為

var completed = [String : Int]()

錯誤表明, MUser.sharedInstance.getUserId()返回一個可選的。
你需要解開這個:

self.books = self.books.filter {  
  guard let userID = MUser.sharedInstance.getUserId() else { return false }
  return $0.completed[userID] ?? 0 > 0 
}

暫無
暫無

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

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