有人可以帮我理解使用泛型而不仅仅使用基类或协议的好处吗?也许我只需要阅读
Swift指南几次,但泛型的概念并没有下沉.考虑使用泛型的这个例子
@H_301_14@func removeObject<T : Equatable>(object: T,inout fromArray array: [T]) { var index = find(array,object) array.removeAtIndex(index!) }
为什么不这样写呢?
// As pointed out,this does not compile. I was more-so curIoUs as to why func removeObject(object: Equatable,inout fromArray array: [Equatable]) { var index = find(array,object) array.removeAtIndex(index!) }
谢谢你的解释.
更新.是的,澄清我的例子完全是假设的.我正在考虑如何在Objective-C中实现这个问题.在那,我只是传递类型id的参数,这将做到这一点.
我的问题是为了深入了解为什么Swift中不允许使用类似的模式,而是使用泛型来代替.