diff --git a/ReactiveObjC/RACSubject.m b/ReactiveObjC/RACSubject.m index 8ea052fd2..3c071ef3a 100644 --- a/ReactiveObjC/RACSubject.m +++ b/ReactiveObjC/RACSubject.m @@ -62,7 +62,9 @@ - (RACDisposable *)subscribe:(id)subscriber { [subscribers addObject:subscriber]; } + @weakify(subscriber, subscribers); [disposable addDisposable:[RACDisposable disposableWithBlock:^{ + @strongify(subscriber, subscribers); @synchronized (subscribers) { // Since newer subscribers are generally shorter-lived, search // starting from the end of the list.