ReactiveCocoa v4.2.1 发布

jopen 8年前
   <p style="text-align: center;"><img alt="" src="https://simg.open-open.com/show/0c2c775693c57317553bf1880c4aeaea.png" /></p>    <p>ReactiveCocoa的核心为signals即RACSignal类。Signals发出三种类型的事件流:next、completed、和error。</p>    <p>通过此模式,ReactiveCocoa可以用来替代delegate、target-action、key-value observing等模式。</p>    <p>通过signal API创建的代码更加统一且易读.但ReactiveCocoa真正强大之处在于通过这些信号源能进行更多高级操作.这些操作能在相当简洁高雅的操作下执行复杂的筛选、转换、信号协调等。在MVVM中,ReactiveCocoa扮演着重要角色.它提供ViewModel和View之间的绑定操作。</p>    <h2>更新日志</h2>    <h3>新增</h3>    <ul>     <li><code>Signal.debounce()</code>/<code>SignalProducer.debounce()</code> for sending values <code>interval</code> seconds apart (<a href="/misc/goto?guid=4958991878528549954">#2952</a>, thanks <a href="/misc/goto?guid=4958991156394708930">@mdiep</a> and <a href="/misc/goto?guid=4958991878682032287">@natestedman</a>!)</li>     <li><code>ObserverType</code> protocol for type-constrained extensions of <code>Observer</code> (<a href="/misc/goto?guid=4958991878787560840">#2992</a>, thanks<a href="/misc/goto?guid=4958991878682032287">@natestedman</a>!)</li>     <li><code>flatten()</code> variants that operate on <code>SequenceType</code>s (<a href="/misc/goto?guid=4958991878910379706" title="Added flatten variants that operate on SequenceTypes">#2975</a>, thanks <a href="/misc/goto?guid=4958991879024869837">@miikegb</a>!)</li>    </ul>    <h3>Bug修复</h3>    <ul>     <li>Binding a producer to a <code>MutablePropertyType</code> leaked memory (<a href="/misc/goto?guid=4958991879145805696" title="Fix memory leak when binding MutablePropertyType to a producer">#2961</a>, thanks <a href="/misc/goto?guid=4958991879275620653">@github-user32</a>!)</li>     <li><code>zip()</code>d producers didn’t complete after both sources completed (<a href="/misc/goto?guid=4958991879406846281" title="[Bugfix] Zipped producers do not complete when both sources are completed.">#2972</a>, thanks <a href="/misc/goto?guid=4958991158278939411">@andersio</a>!)</li>     <li><code>then()</code> didn’t forward interruptions from the original producer (<a href="/misc/goto?guid=4958991879596383271">#2987</a>, thanks <a href="/misc/goto?guid=4958991157890581622">@sharplet</a>!)</li>     <li><code>TestScheduler</code> didn’t have the correct <code>currentDate</code> while advancing (<a href="/misc/goto?guid=4958991879769495389">#2991</a>, thanks <a href="/misc/goto?guid=4958991157439834676">@inamiy</a>!).</li>    </ul>    <h2>下载</h2>    <ul>     <li><a href="/misc/goto?guid=4958991879947572077" rel="nofollow">30.4 MB<strong>ReactiveCocoa.framework.zip</strong></a></li>     <li><a href="/misc/goto?guid=4958991880076065517" rel="nofollow"><strong>Source code</strong> (zip)</a></li>     <li><a href="/misc/goto?guid=4958991880210067587" rel="nofollow"><strong>Source code</strong> (tar.gz)</a></li>    </ul>