d
Tento commit je obsažen v:
54
src/MeetupId.swift
Normální soubor
54
src/MeetupId.swift
Normální soubor
@@ -0,0 +1,54 @@
|
||||
import Foundation
|
||||
|
||||
enum MeetupId {
|
||||
enum Keys: String, RawRepresentable {
|
||||
case meetupIdTextApp
|
||||
case meetupIdTextUI
|
||||
}
|
||||
|
||||
static func shouldFormat(_ s: String) -> String? {
|
||||
s.components(separatedBy: NSCharacterSet.decimalDigits.inverted).reduce("") { $0 + $1 }
|
||||
}
|
||||
|
||||
/*
|
||||
final class MeetupIdFormatter {
|
||||
var subscriptions = [AnyCancellable]()
|
||||
|
||||
deinit {
|
||||
/**/dbg("ИГР MeetupIF.DEinit")
|
||||
}
|
||||
|
||||
init() {
|
||||
Bus.receive(
|
||||
&subscriptions,
|
||||
[Keys.meetupIdTextUI.rawValue],
|
||||
{ [weak self] k, v in self?.handleFormatting(k, v) }
|
||||
)
|
||||
/**/dbg("ИГР MeetupIF.init")
|
||||
}
|
||||
|
||||
func handleFormatting(_: String, _ value: String) {
|
||||
let out = MeetupId.shouldFormat(value)
|
||||
/**/dbg("ИГР MeetupIF.handleF out/dt: '\(out)'/'\(Date())'")
|
||||
Bus.Service.singleton?.send(Keys.meetupIdTextApp.rawValue, out)
|
||||
}
|
||||
}
|
||||
|
||||
struct V: View {
|
||||
/*@StateObject*/ var fmt = MeetupIdFormatter()
|
||||
@StateObject var txt = Bus.BindingPipe("", Keys.meetupIdTextApp.rawValue, Keys.meetupIdTextUI.rawValue)
|
||||
|
||||
var body: some View {
|
||||
VStack {
|
||||
Text("Hi, the text is: '\(txt.value)'")
|
||||
.fontWeight(.bold)
|
||||
TextField("Placeholder", text: $txt.value)
|
||||
.padding(8)
|
||||
.border(Color.blue, width: 2)
|
||||
}
|
||||
.frame(width: 320)
|
||||
.padding()
|
||||
}
|
||||
}
|
||||
*/
|
||||
}
|
||||
Odkázat v novém úkolu
Zablokovat Uživatele