最近使用swift的过程中用到了泛型,并且有个需求是根据传值不同类型来做不同操作,也涉及到了swift中的区分类型操作。
方法一
一开始是通过type(of:)的方法进行区分了,举例代码如下
1 | func swapTwoValues<T>(_ a: inout T, _ b: inout T) { |
方法二
后来觉得此法太过麻烦,而且判断条件较多的时候,if else的写法也会影响效率,故此第二种方法如下
1 | func swapTwoValues<T>(_ a: inout T, _ b: inout T) { |