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