swift 數組高階使用(一)

###swift 數組高階使用 在使用數組的時候,咱們一般會經過下標的方式來得到數組中的元素,可是有時候咱們會需求會很是變態,好比咱們只須要獲取數組中下標爲0,2,4的元素,或者對他們進行修改。swift的extension就給咱們提供了很好的幫助。直接上代碼:swift

// 對Array 進行擴展
extension Array {
    // 這裏咱們擴展一個新的方法,而且實現它的get和set方法
    subscript(input:[Int]) ->ArraySlice<Element> {
    get {
        var result = ArraySlice<Element>()
        for i in input {
            assert(i < self.count, "越界")// 越界時的斷言
            result.append(self[i])
        }
        return result
    }
    set {
        for (index, i) in input.enumerate() {
            assert(i < self.count, "越界")// 越界時的斷言
            self[i] = newValue[index]
        }
    }
    }
}
// 測試代碼以下
var array = [1, 2, 3, 4, 5]
array[[0, 2, 4]]   // [1, 4, 5]
array[[0, 1, 2]] = [9, 9, 9]
array            // [9, 9, 9, 4, 5]

這樣就能夠知足咱們對數組的各類奇葩需求,但願能夠幫助你們。數組

PS: 斷言在個人博客中也有講解,具體連接:斷言的使用

相關文章
相關標籤/搜索