【发布时间】:2015-11-30 19:02:25
【问题描述】:
我有一个具有以下签名的函数:
static func dictionaryToJSON<K : ToJSON,V : ToJSON> ( dictionary : Dictionary<K,V>) -> JValue
您可以找到它here。
当我尝试调用此函数时,我收到错误 Cannot invoke 'dictionaryToJSON' with an argument list of type '(Dictionary<Domain, Account>)'。这是电话:
let accounts : JValue = Aeson.dictionaryToJSON( self.accounts)
self.accounts 的类型为Dictionary<Domain,Account>,Domain 和Account 都实现了协议ToJSON。有什么理由不进行类型检查吗?这是针对 Swift 2(XCode 7 beta 6)的,所以可能存在编译器错误?
【问题讨论】:
-
您的 Domain 类型是否实现了 Hashable 协议?这是成为字典中的键的要求。
-
是的,Domain 实现了 Hashable。
标签: xcode swift generics swift2 xcode7-beta6