繁体   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