Einfach beobachtbare Struktur mit RxSwift?

Ich versuche, in Swift ein einfaches beobachtbares Objekt zu finden, und habe mir überlegt, @ zu verwende RxSwift. Ich konnte kein einfaches Beispiel finden, um so etwas zu tun:

protocol PropertyObservable {
  typealias PropertyType
  var propertyChanged: Event<(PropertyType, Any)> { get }
}

class Car: PropertyObservable {
  typealias PropertyType = CarProperty
  let propertyChanged = Event<(CarProperty, Any)>()

  dynamic var miles: Int = 0 {
    didSet {
      propertyChanged.raise(.Miles, oldValue as Any)
    }
  }

  dynamic var name: String = "Turbo" {
    didSet {
      propertyChanged.raise(.Name, oldValue as Any)
    }
  }
}

Das obige ist eine reine Swift-Lösung für Observablen vondieser Blog-Beitrag; Mir gefällt, dass es sich um eine protokollbasierte Lösung handelt, die nicht invasiv ist. In meinem Fall habe ich ein Objekt in meinem Projekt, bei dem jede Eigenschaft unter der Haube (Bluetooth-Gerät) asynchron festgelegt ist. Ich muss also die Änderungen beobachten / abonnieren, anstatt die Eigenschaften in Echtzeit abzurufen / festzulegen.

Ich höre immer wieder, dass RxSwift genau das und noch mehr kann. Ich kann jedoch kein einfaches Beispiel finden, das mit dem obigen übereinstimmt, und beginne zu glauben, dass RxSwift für meine Bedürfnisse übertrieben ist. Vielen Dank für jede Hilfe.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage