| 12345678910111213141516171819202122232425 |
- //
- // ArrayExtension.swift
- // CryptoSwift
- //
- // Created by Marcin Krzyzanowski on 10/08/14.
- // Copyright (c) 2014 Marcin Krzyzanowski. All rights reserved.
- //
- extension Array {
- /** split in chunks with given chunk size */
- func chunks(size chunksize: Int) -> [Array<Element>] {
- var words = Array<Array<Element>>()
- words.reserveCapacity(self.count / chunksize)
- for idx in stride(from: chunksize, through: self.count, by: chunksize) {
- words.append(Array(self[idx - chunksize..<idx])) // slow for large table
- }
- let reminder = self.suffix(self.count % chunksize)
- if !reminder.isEmpty {
- words.append(Array(reminder))
- }
- return words
- }
- }
|