Skip to content

Commit f5dee78

Browse files
committed
fix instance tracking
1 parent e338898 commit f5dee78

File tree

1 file changed

+5
-4
lines changed

1 file changed

+5
-4
lines changed

Sources/CrossmintClient/SwiftUI/View+NonCustodialSigner.swift

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,23 +3,24 @@ import Logger
33
import SwiftUI
44
import Wallet
55

6-
@MainActor var instanceTrackers: [String: [InstanceTracker]] = [:]
6+
@MainActor var instanceTrackers: [String: Int] = [:]
77

88
final class InstanceTracker: ObservableObject, Sendable {
99
let instance: String
1010
init(name: String) {
1111
self.instance = name
12+
1213
Task { @MainActor in
13-
instanceTrackers[instance, default: []].append(self)
14-
if instanceTrackers[instance, default: []].count > 1 {
14+
instanceTrackers[instance, default: 0] += 1
15+
if instanceTrackers[instance, default: 0] > 1 {
1516
Logger.sdk.error("More than one instance of \(instance) created at a time. Behaviour is undefined.")
1617
}
1718
}
1819
}
1920

2021
deinit {
2122
Task { @MainActor [instance] in
22-
instanceTrackers[instance]?.popLast()
23+
instanceTrackers[instance, default: 0] -= 1
2324
}
2425
}
2526
}

0 commit comments

Comments
 (0)