28 lines
700 B
Swift
28 lines
700 B
Swift
//
|
|
// UITextField+Publisher.swift
|
|
// VDS
|
|
//
|
|
// Created by Matt Bruce on 8/18/22.
|
|
//
|
|
|
|
import Foundation
|
|
import UIKit
|
|
import Combine
|
|
|
|
extension UITextField {
|
|
public var textPublisher: AnyPublisher<String, Never> {
|
|
publisher(for: .editingChanged)
|
|
.map { _ in self.text ?? "" }
|
|
.eraseToAnyPublisher()
|
|
}
|
|
|
|
public var numberPublisher: AnyPublisher<NSNumber?, Never> {
|
|
publisher(for: .editingChanged)
|
|
.map { textField in
|
|
guard let text = textField.text, let foundNumber = NumberFormatter().number(from: text) else { return nil }
|
|
return foundNumber
|
|
}
|
|
.eraseToAnyPublisher()
|
|
}
|
|
}
|