forked from CodingMeSwiftly/ASCollectionNodeAutoHeader
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathSampleData.swift
More file actions
49 lines (39 loc) · 1.92 KB
/
SampleData.swift
File metadata and controls
49 lines (39 loc) · 1.92 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
//
// Data.swift
// AutoHeader
//
// Created by Maximilian Kraus on 05.03.17.
// Copyright © 2017 Maximilian Kraus. All rights reserved.
//
import AsyncDisplayKit
let loremIpsum = "Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet."
let numberOfSections = 5
let numberOfItemsInEachSection = 15
struct SectionData {
var headerText: String?
var textsForItems: [String]
static func createSampleData() -> [SectionData] {
return (0...numberOfSections).map { _ in
SectionData(
headerText: .random,
textsForItems: (0...numberOfItemsInEachSection).map { _ in .random }
)
}
}
}
private extension String {
static var random: String {
return loremIpsum.randomSubstring
}
private var randomSubstring: String {
let endIndex = index(startIndex, offsetBy: .random(min: 15, max: characters.count / 2))
return self.substring(to: endIndex)
}
}
private extension Int {
static func random(min: Int, max: Int) -> Int {
assert(min < max, "min must be smaller than max")
let delta = max - min
return min + Int(arc4random_uniform(UInt32(delta)))
}
}