【发布时间】:2017-04-29 06:02:22
【问题描述】:
事实证明,在 Dictionary 扩展中,下标是毫无用处的,因为它表示 Ambiguous reference to member 'subscript'。看来我要么必须做 Swift 在其 subscript(Key) 中所做的事情,要么调用一个函数。有什么想法吗?
例如,
public extension Dictionary {
public func bool(_ key: String) -> Bool? {
return self[key] as? Bool
}
}
行不通,因为据说下标不明确。
添加我的误解来自于我认为Key 是AssociatedType 而不是通用参数。
【问题讨论】:
-
好了,现在人们有事情要做了
-
@AlexanderMomchliov 老实说,我认为示例代码与我解释的内容没有什么不同,但我想它使问题更容易理解。
-
它消除了猜测工作,并避免我们浪费时间进行可比较的测试设置
-
另外,请记住,我们经常看到人们带着问题来到这里,按照他们的想法描述他们的代码,经过一些乏味的来回后,我们发现实际上并非如此
标签: swift dictionary hashtable extension-methods subscript