-
Notifications
You must be signed in to change notification settings - Fork 3
Expand file tree
/
Copy pathViewController.swift
More file actions
72 lines (58 loc) · 1.92 KB
/
ViewController.swift
File metadata and controls
72 lines (58 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
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
//
// ViewController.swift
// Example
//
// Created by Alexander Weiß on 25. Apr 2020.
// Copyright © 2020 LoggingKit. All rights reserved.
//
import UIKit
import Combine
import LoggingKit
// Helper error
enum NumberError: Error {
case numberTooHigh
}
// MARK: - ViewController
/// The ViewController
class ViewController: UIViewController {
// MARK: Properties
private var sub: AnyCancellable? = nil
/// The Label
lazy var label: UILabel = {
let label = UILabel()
label.text = "🚀\nLoggingKit\nExample"
label.font = .systemFont(ofSize: 25, weight: .semibold)
label.numberOfLines = 0
label.lineBreakMode = .byWordWrapping
label.textAlignment = .center
return label
}()
// MARK: View-Lifecycle
/// View did load
override func viewDidLoad() {
super.viewDidLoad()
self.view.backgroundColor = .white
// Traditional methods
LogService.shared.debug("Hello Debug", logCategory: \.viewControllers)
LogService.shared.verbose("Hello Verbose", logCategory: \.viewControllers)
LogService.shared.info("Hello Info", logCategory: \.viewControllers)
LogService.shared.warning("Hello Warning", logCategory: \.viewControllers)
LogService.shared.error("Hello Error", logCategory: \.viewControllers)
// Combine publishers
sub = Result<Int, NumberError>.Publisher(5)
.logValue(logType: .info, logCategory: \.combine) {
"My Value is \($0)"
}
.tryMap { (number:Int) in
throw NumberError.numberTooHigh
}
.logError(logCategory: \.combine) {
"My Error is \($0)"
}
.sink(receiveCompletion: { _ in }, receiveValue: {_ in})
}
/// LoadView
override func loadView() {
self.view = self.label
}
}