Skip to content

Commit 5fd3e29

Browse files
committed
Updated example app.
1 parent 28ecf2a commit 5fd3e29

File tree

6 files changed

+31
-24
lines changed

6 files changed

+31
-24
lines changed

Example App/SPAlert.xcodeproj/project.pbxproj

+2-2
Original file line numberDiff line numberDiff line change
@@ -379,15 +379,15 @@
379379
repositoryURL = "https://github.com/ivanvorobei/SparrowKit";
380380
requirement = {
381381
kind = upToNextMajorVersion;
382-
minimumVersion = 3.0.7;
382+
minimumVersion = 3.5.0;
383383
};
384384
};
385385
F43A587526564C7D009098ED /* XCRemoteSwiftPackageReference "SPDiffable" */ = {
386386
isa = XCRemoteSwiftPackageReference;
387387
repositoryURL = "https://github.com/ivanvorobei/SPDiffable";
388388
requirement = {
389389
kind = upToNextMajorVersion;
390-
minimumVersion = 1.2.2;
390+
minimumVersion = 4.0.0;
391391
};
392392
};
393393
/* End XCRemoteSwiftPackageReference section */

Example App/SPAlert.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved

+4-4
Original file line numberDiff line numberDiff line change
@@ -6,17 +6,17 @@
66
"repositoryURL": "https://github.com/ivanvorobei/SparrowKit",
77
"state": {
88
"branch": null,
9-
"revision": "d1a2d489417f98620558da08ddcf44a9d53e58f3",
10-
"version": "3.2.0"
9+
"revision": "ec3da50d713713d43b26a3e191f33f9930fd0e82",
10+
"version": "3.5.0"
1111
}
1212
},
1313
{
1414
"package": "SPDiffable",
1515
"repositoryURL": "https://github.com/ivanvorobei/SPDiffable",
1616
"state": {
1717
"branch": null,
18-
"revision": "884198fb29a339156b824483bc09e2b488d27e28",
19-
"version": "1.4.1"
18+
"revision": "d09a126517371bc34080d0f2dad70ffd724f862e",
19+
"version": "4.0.0"
2020
}
2121
}
2222
]

Example App/iOS Example/Controllers/PresetsController.swift

+17-12
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ class PresetsController: SPDiffableTableController {
4343
navigationItem.title = "SPAlert Presets"
4444

4545
currentPreset = presets.first!
46-
setCellProviders(SPDiffableTableCellProviders.default, sections: content)
46+
configureDiffable(sections: content, cellProviders: SPDiffableTableDataSource.CellProvider.default)
4747

4848
navigationController?.isToolbarHidden = false
4949
toolbarItems = [
@@ -61,7 +61,19 @@ class PresetsController: SPDiffableTableController {
6161
.init(barButtonSystemItem: .flexibleSpace, target: nil, action: nil),
6262
.init(systemItem: .play, primaryAction: .init(handler: { [weak self] (action) in
6363
guard let preset = self?.currentPreset else { return }
64-
SPAlert.present(title: preset.title, message: preset.message, preset: preset.preset, completion: nil)
64+
SPAlert.present(
65+
title: preset.title,
66+
message: preset.message,
67+
preset: preset.preset,
68+
completion: nil
69+
)
70+
71+
if preset.preset == SPAlertIconPreset.spinner {
72+
delay(2, closure: {
73+
SPAlert.dismiss()
74+
})
75+
}
76+
6577
}), menu: nil),
6678
.init(barButtonSystemItem: .flexibleSpace, target: nil, action: nil),
6779
]
@@ -107,15 +119,8 @@ class PresetsController: SPDiffableTableController {
107119
// MARK: - Diffable
108120

109121
var currentPreset: AlertPresetModel? {
110-
willSet {
111-
guard let id = self.currentPreset?.id else { return }
112-
let cell = diffableDataSource?.cell(UITableViewCell.self, for: id)
113-
cell?.accessoryType = .none
114-
}
115122
didSet {
116-
guard let id = self.currentPreset?.id else { return }
117-
let cell = diffableDataSource?.cell(UITableViewCell.self, for: id)
118-
cell?.accessoryType = .checkmark
123+
self.diffableDataSource?.set(content, animated: false)
119124
}
120125
}
121126

@@ -124,13 +129,13 @@ class PresetsController: SPDiffableTableController {
124129
return SPDiffableTableRow(
125130
text: preset.name,
126131
accessoryType: (preset.id == currentPreset?.id) ? .checkmark : .none,
127-
selectionStyle: .none) { [weak self] _ in
132+
selectionStyle: .none) { [weak self] _,_ in
128133
guard let self = self else { return }
129134
self.currentPreset = preset
130135
}
131136
}
132137
return [
133-
SPDiffableSection(identifier: "presets", header: nil, footer: nil, items: items)
138+
SPDiffableSection(id: "presets", header: nil, footer: nil, items: items)
134139
]
135140
}
136141
}

SPAlert.podspec

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
Pod::Spec.new do |s|
22

33
s.name = 'SPAlert'
4-
s.version = '4.1.0'
4+
s.version = '4.2.0'
55
s.summary = 'Native alert from Apple Music & Feedback. Contains Done, Heart & Message and other presets. Support SwiftUI.'
66
s.homepage = 'https://github.com/ivanvorobei/SPAlert'
77
s.source = { :git => 'https://github.com/ivanvorobei/SPAlert.git', :tag => s.version }

Sources/SPAlert/SPAlert.swift

+6-4
Original file line numberDiff line numberDiff line change
@@ -83,10 +83,12 @@ public enum SPAlert {
8383
public static func dismiss() {
8484
if #available(iOS 13.0, *) {
8585
for scene in UIApplication.shared.connectedScenes {
86-
if let windowScene = scene as? UIWindowSceneDelegate {
87-
for view in windowScene.window??.subviews ?? [] {
88-
if let alertView = view as? SPAlertView {
89-
alertView.dismiss()
86+
if let windowScene = scene as? UIWindowScene {
87+
windowScene.windows.forEach { window in
88+
for view in window.subviews {
89+
if let alertView = view as? SPAlertView {
90+
alertView.dismiss()
91+
}
9092
}
9193
}
9294
}

Sources/SPAlert/SPAlertIconPreset.swift

+1-1
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ import UIKit
2525
SPAlert: Represent icon wrapper.
2626
Included default styles and can be custom image.
2727
*/
28-
public enum SPAlertIconPreset {
28+
public enum SPAlertIconPreset: Equatable {
2929

3030
case done
3131
case error

0 commit comments

Comments
 (0)