RxSwift/RxCocoa/Common/RxTarget.swift

45 lines
751 B
Swift

//
// RxTarget.swift
// RxCocoa
//
// Created by Krunoslav Zaher on 7/12/15.
// Copyright © 2015 Krunoslav Zaher. All rights reserved.
//
import Foundation
#if !RX_NO_MODULE
import RxSwift
#endif
class RxTarget : NSObject
, Disposable {
private var retainSelf: RxTarget?
override init() {
super.init()
self.retainSelf = self
#if TRACE_RESOURCES
OSAtomicIncrement32(&resourceCount)
#endif
#if DEBUG
MainScheduler.ensureExecutingOnScheduler()
#endif
}
func dispose() {
#if DEBUG
MainScheduler.ensureExecutingOnScheduler()
#endif
self.retainSelf = nil
}
#if TRACE_RESOURCES
deinit {
OSAtomicDecrement32(&resourceCount)
}
#endif
}