【发布时间】:2016-10-22 09:20:34
【问题描述】:
我有一个接受泛型集合的函数。
func foo<T: BidirectionalCollection>(_ bar: T)
where T.Iterator.Element == UInt8,
T.SubSequence: BidirectionalCollection & RangeReplaceableCollection,
T.SubSequence.Iterator.Element == UInt8,
T.SubSequence.Index == T.Index,
T.SubSequence.SubSequence == T.SubSequence
{
//
}
我想用Data 作为 T 调用这个函数:
foo(Data())
但是,这会产生错误:
错误:无法推断通用参数“T”
这里发生了什么?如何使用Data 实例正确调用函数?
【问题讨论】:
-
如果我通过
[UInt8]而不是Data,它会起作用。那有什么不同?
标签: swift generics collections