Merge Swift Array with same superclass

前端 未结 3 1588
一个人的身影
一个人的身影 2020-12-19 08:25

I\'m trying to find the best way to merge Swift arrays, that are not of same type, but they have same superclass. I\'ve already read all the tutorials so I know I can use:

3条回答
  •  生来不讨喜
    2020-12-19 08:59

    you can merge almost everything. the only requirement is that all elements of resulting array must conform to the same protocol.

    let arr1 = [1,2,3]          // [Int]
    let arr2 = [4.0,5.0,6.0]    // [Double]
    let arr3 = ["a","b"]        // [String]
    
    import Foundation // NSDate
    let arr4 = [NSDate()]       // [NSDate]
    
    // the only common protocol in this case is Any
    var arr:[Any] = []
    
    arr1.forEach { arr.append($0) }
    arr2.forEach { arr.append($0) }
    arr3.forEach { arr.append($0) }
    arr4.forEach { arr.append($0) }
    
    print(arr) // [1, 2, 3, 4.0, 5.0, 6.0, "a", "b", 2016-02-15 08:25:03 +0000]
    

提交回复
热议问题