0
什么是错的:不能调用非函数类型的值'(key:Int,value:CallSession)?'
func findCallByUUID(uuid: UUID) -> CallSession? {
let foo = [Int: CallSession]()
return foo.first(where: { (id: Int, session: CallSession) in
session.uuid == uuid
})
}
好吧,我不需要id
但我想知道如何使用first
用字典。
这工作得很好:
return foo.values.first(where: { (session) in session.uuid == uuid })
字典不应该被排序,所以不是一个真正的 “第一”。 – Larme
@Larme'first' _is_在Swift字典中可用(它将每个元素的键和值传递给过滤器)... – Alladinian
我可以在您的代码片段中发现的一个问题是,您应该返回一个' CallSession?',但是你可以返回一个'(key:Int,value:CallSession)?'(一个来自字典元素的键/值对)。也许像'return foo.first(其中:{ id:Int,session:CallSession) session.uuid == uuid })?value是你打算做什么的? – Alladinian