Skip to content

Commit 2da50ec

Browse files
committed
Update documentation on Property
1 parent b3361c2 commit 2da50ec

File tree

1 file changed

+10
-3
lines changed

1 file changed

+10
-3
lines changed

Documentation/FrameworkOverview.md

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -136,15 +136,15 @@ For interaction with `NSControl` or `UIControl`, RAC provides the
136136

137137
## Properties
138138

139-
A **property**, represented by the [`PropertyType`][Property] protocol,
139+
A **property**, represented by the [`PropertyProtocol`][Property],
140140
stores a value and notifies observers about future changes to that value.
141141

142142
The current value of a property can be obtained from the `value` getter. The
143143
`producer` getter returns a [signal producer](#signal-producers) that will send
144-
the property’s current value, followed by all changes over time.
144+
the property’s current value, followed by all changes over time. The `signal` getter returns a [signal](#signals) that will send all changes over time, but not the initial value.
145145

146146
The `<~` operator can be used to bind properties in different ways. Note that in
147-
all cases, the target has to be a [`MutablePropertyType`][Property].
147+
all cases, the target has to be a [`BindingTarget`][BindingTarget], [`MutableProperty`][MutableProperty] is the only property that implements this.
148148

149149
* `property <~ signal` binds a [signal](#signals) to the property, updating the
150150
property’s value to the latest value sent by the signal.
@@ -157,9 +157,14 @@ The [`DynamicProperty`][Property] type can be used to bridge to Objective-C APIs
157157
that require Key-Value Coding (KVC) or Key-Value Observing (KVO), like
158158
`NSOperation`. Note that most AppKit and UIKit properties do _not_ support KVO,
159159
so their changes should be observed through other mechanisms.
160+
161+
[ReactiveCocoa][ReactiveCocoa] implements a number of extensions on AppKit and UIKit to allow observation of and binding to properties via the `.reactive` structure.
162+
160163
[`MutableProperty`][Property] should be preferred over dynamic properties
161164
whenever possible!
162165

166+
Properties provide a number of transformations like `map`, `combineLatest` or `zip` for manipulation similar to [signal](#signals) and [signal producer](#signal-producers)
167+
163168
## Disposables
164169

165170
A **disposable**, represented by the [`Disposable`][Disposable] protocol, is a mechanism
@@ -199,6 +204,7 @@ do not allow tasks to be reordered or depend on one another.
199204
[Design Guidelines]: DesignGuidelines.md
200205
[BasicOperators]: BasicOperators.md
201206
[README]: ../README.md
207+
[ReactiveCocoa]: https://github.com/ReactiveCocoa/
202208
[Signal]: ../Sources/Signal.swift
203209
[SignalProducer]: ../Sources/SignalProducer.swift
204210
[Action]: ../Sources/Action.swift
@@ -208,3 +214,4 @@ do not allow tasks to be reordered or depend on one another.
208214
[Property]: ../Sources/Property.swift
209215
[Event]: ../Sources/Event.swift
210216
[Observer]: ../Sources/Observer.swift
217+
[BindingTarget]: ../Sources/UnidirectionalBinding.swift

0 commit comments

Comments
 (0)