Skip to content

Commit 8b4cc56

Browse files
committed
Merge branch 'master' of https://github.com/varabeis/SparrowKit
2 parents f086cb9 + 9cee98f commit 8b4cc56

File tree

2 files changed

+36
-0
lines changed

2 files changed

+36
-0
lines changed
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
//
2+
// ArrayExtension.swift
3+
// SparrowKit
4+
//
5+
// Created by Alexandr Guzenko on 18.03.2021.
6+
//
7+
8+
import Foundation
9+
10+
public extension Array {
11+
12+
/**
13+
SparrowKit: This method split array of elements into chunks of a size specify
14+
15+
Take a look at this example:
16+
```
17+
let array = [1,2,3,4,5,6,7]
18+
array.chuncked(by: 3) // [[1,2,3], [4,5,6], [7]]
19+
```
20+
21+
- parameter chunkSize: Subarray size
22+
*/
23+
func chunked(by chunkSize: Int) -> [[Element]] {
24+
return stride(from: 0, to: self.count, by: chunkSize).map {
25+
Array(self[$0..<Swift.min($0 + chunkSize, self.count)])
26+
}
27+
}
28+
}

SparrowKit.xcodeproj/project.pbxproj

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,9 @@
77
objects = {
88

99
/* Begin PBXBuildFile section */
10+
BBA78E25260373C900620829 /* ArrayExtension.swift in Sources */ = {isa = PBXBuildFile; fileRef = BBA78E24260373C900620829 /* ArrayExtension.swift */; };
11+
BBA78E26260373C900620829 /* ArrayExtension.swift in Sources */ = {isa = PBXBuildFile; fileRef = BBA78E24260373C900620829 /* ArrayExtension.swift */; };
12+
BBA78E27260373C900620829 /* ArrayExtension.swift in Sources */ = {isa = PBXBuildFile; fileRef = BBA78E24260373C900620829 /* ArrayExtension.swift */; };
1013
DBA406EA25E4288E000B4EE3 /* SPTextField.swift in Sources */ = {isa = PBXBuildFile; fileRef = DBA406E925E4288E000B4EE3 /* SPTextField.swift */; };
1114
DBA406EB25E4288E000B4EE3 /* SPTextField.swift in Sources */ = {isa = PBXBuildFile; fileRef = DBA406E925E4288E000B4EE3 /* SPTextField.swift */; };
1215
DBA406EC25E4288E000B4EE3 /* SPTextField.swift in Sources */ = {isa = PBXBuildFile; fileRef = DBA406E925E4288E000B4EE3 /* SPTextField.swift */; };
@@ -215,6 +218,7 @@
215218
/* End PBXBuildFile section */
216219

217220
/* Begin PBXFileReference section */
221+
BBA78E24260373C900620829 /* ArrayExtension.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ArrayExtension.swift; sourceTree = "<group>"; };
218222
DB41CA9225DBA0430014E0BC /* CODESTYLE.md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = CODESTYLE.md; sourceTree = "<group>"; };
219223
DBA406E925E4288E000B4EE3 /* SPTextField.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SPTextField.swift; sourceTree = "<group>"; };
220224
DBA406F125E4306C000B4EE3 /* SPInsetsTextField.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SPInsetsTextField.swift; sourceTree = "<group>"; };
@@ -476,6 +480,7 @@
476480
F44576A525409283002C69FB /* CollectionExtension.swift */,
477481
F4F88C84256C484E0002627D /* NSObjectExtension.swift */,
478482
F4EA2A50256ED15A00203860 /* NotificationCenterExtension.swift */,
483+
BBA78E24260373C900620829 /* ArrayExtension.swift */,
479484
);
480485
path = Foundation;
481486
sourceTree = "<group>";
@@ -711,6 +716,7 @@
711716
F4E512852525AE5D00F441CB /* UIFontExtension.swift in Sources */,
712717
F4088FFA25284EB5007D4F94 /* SPTableView.swift in Sources */,
713718
F4D6FAEF256640110046A328 /* SPAppWindowDelegate.swift in Sources */,
719+
BBA78E26260373C900620829 /* ArrayExtension.swift in Sources */,
714720
F4E512732525AE4700F441CB /* UIFeedbackGeneratorExtension.swift in Sources */,
715721
F4088FBD25284940007D4F94 /* UISegmentedControlExtension.swift in Sources */,
716722
DBA406EB25E4288E000B4EE3 /* SPTextField.swift in Sources */,
@@ -786,6 +792,7 @@
786792
F4E512862525AE5D00F441CB /* UIFontExtension.swift in Sources */,
787793
F4088FFB25284EB5007D4F94 /* SPTableView.swift in Sources */,
788794
F4D6FAF0256640110046A328 /* SPAppWindowDelegate.swift in Sources */,
795+
BBA78E27260373C900620829 /* ArrayExtension.swift in Sources */,
789796
F4E5127E2525AE4800F441CB /* UIFeedbackGeneratorExtension.swift in Sources */,
790797
F4088FBE25284940007D4F94 /* UISegmentedControlExtension.swift in Sources */,
791798
DBA406EC25E4288E000B4EE3 /* SPTextField.swift in Sources */,
@@ -861,6 +868,7 @@
861868
F43423C6251CDDDE0094F319 /* Delay.swift in Sources */,
862869
F4E512842525AE5D00F441CB /* UIFontExtension.swift in Sources */,
863870
F4D6FAEE256640110046A328 /* SPAppWindowDelegate.swift in Sources */,
871+
BBA78E25260373C900620829 /* ArrayExtension.swift in Sources */,
864872
F4088FF925284EB5007D4F94 /* SPTableView.swift in Sources */,
865873
F43423C8251CDDDE0094F319 /* UIFeedbackGeneratorExtension.swift in Sources */,
866874
DBA406EA25E4288E000B4EE3 /* SPTextField.swift in Sources */,

0 commit comments

Comments
 (0)