From 8747938e6c18ab743d4c686c01468e7fd7a22a09 Mon Sep 17 00:00:00 2001 From: Petr Sima Date: Tue, 8 Mar 2016 13:54:24 +0100 Subject: [PATCH] dispose of producer in deinit to prevent crash when producer outlives the reactiveArray --- ReactiveArray/ReactiveArray.swift | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/ReactiveArray/ReactiveArray.swift b/ReactiveArray/ReactiveArray.swift index b270795..2ba077b 100644 --- a/ReactiveArray/ReactiveArray.swift +++ b/ReactiveArray/ReactiveArray.swift @@ -89,10 +89,15 @@ public final class ReactiveArray: CollectionType, MutableCollectionType, Cust } + var disposeBag : [Disposable] = [] public convenience init(producer: OperationProducer) { self.init() - producer.start(_sink) + disposeBag += [producer.start(_sink)] + } + + deinit { + for d in disposeBag { d.dispose() } } public convenience init() {