├── RxClassRoomStep1
├── .idea
│ ├── RxClassroom.iml
│ ├── encodings.xml
│ ├── misc.xml
│ ├── modules.xml
│ ├── vcs.xml
│ ├── workspace.xml
│ └── xcode.xml
├── Podfile
├── Podfile.lock
├── Pods
│ ├── Action
│ │ ├── Action.swift
│ │ ├── AlertAction.swift
│ │ ├── License.md
│ │ ├── Readme.md
│ │ ├── UIBarButtonItem+Action.swift
│ │ └── UIButton+Rx.swift
│ ├── Manifest.lock
│ ├── Pods.xcodeproj
│ │ ├── project.pbxproj
│ │ └── xcuserdata
│ │ │ └── fpillet.xcuserdatad
│ │ │ └── xcschemes
│ │ │ ├── Action.xcscheme
│ │ │ ├── Pods-RxClassroom.xcscheme
│ │ │ ├── RxCocoa.xcscheme
│ │ │ ├── RxSwift.xcscheme
│ │ │ └── xcschememanagement.plist
│ ├── RxCocoa
│ │ ├── LICENSE.md
│ │ ├── README.md
│ │ └── RxCocoa
│ │ │ ├── Common
│ │ │ ├── CLLocationManager+Rx.swift
│ │ │ ├── CocoaUnits
│ │ │ │ ├── ControlEvent.swift
│ │ │ │ ├── ControlProperty.swift
│ │ │ │ ├── Driver
│ │ │ │ │ ├── ControlEvent+Driver.swift
│ │ │ │ │ ├── ControlProperty+Driver.swift
│ │ │ │ │ ├── Driver+Operators+arity.swift
│ │ │ │ │ ├── Driver+Operators.swift
│ │ │ │ │ ├── Driver+Subscription.swift
│ │ │ │ │ ├── Driver.swift
│ │ │ │ │ ├── ObservableConvertibleType+Driver.swift
│ │ │ │ │ └── Variable+Driver.swift
│ │ │ │ └── UIBindingObserver.swift
│ │ │ ├── DelegateProxy.swift
│ │ │ ├── DelegateProxyType.swift
│ │ │ ├── KVORepresentable+CoreGraphics.swift
│ │ │ ├── KVORepresentable+Swift.swift
│ │ │ ├── KVORepresentable.swift
│ │ │ ├── Logging.swift
│ │ │ ├── NSLayoutConstraint+Rx.swift
│ │ │ ├── Observable+Bind.swift
│ │ │ ├── Observables
│ │ │ │ ├── Implementations
│ │ │ │ │ ├── ControlTarget.swift
│ │ │ │ │ ├── DeallocObservable.swift
│ │ │ │ │ ├── KVOObservable.swift
│ │ │ │ │ ├── KVOObserver.swift
│ │ │ │ │ └── MessageSentObserver.swift
│ │ │ │ ├── NSNotificationCenter+Rx.swift
│ │ │ │ ├── NSObject+Rx+KVORepresentable.swift
│ │ │ │ ├── NSObject+Rx+RawRepresentable.swift
│ │ │ │ ├── NSObject+Rx.swift
│ │ │ │ └── NSURLSession+Rx.swift
│ │ │ ├── Proxies
│ │ │ │ └── RxCLLocationManagerDelegateProxy.swift
│ │ │ ├── Reactive.swift
│ │ │ ├── RxCocoa.swift
│ │ │ ├── RxTarget.swift
│ │ │ ├── RxTextInput.swift
│ │ │ ├── SectionedViewDataSourceType.swift
│ │ │ ├── _RX.h
│ │ │ ├── _RX.m
│ │ │ ├── _RXDelegateProxy.h
│ │ │ ├── _RXDelegateProxy.m
│ │ │ ├── _RXKVOObserver.h
│ │ │ ├── _RXKVOObserver.m
│ │ │ ├── _RXObjCRuntime.h
│ │ │ └── _RXObjCRuntime.m
│ │ │ ├── RxCocoa.h
│ │ │ └── iOS
│ │ │ ├── DataSources
│ │ │ ├── RxCollectionViewReactiveArrayDataSource.swift
│ │ │ └── RxTableViewReactiveArrayDataSource.swift
│ │ │ ├── Events
│ │ │ └── ItemEvents.swift
│ │ │ ├── NSTextStorage+Rx.swift
│ │ │ ├── Protocols
│ │ │ ├── RxCollectionViewDataSourceType.swift
│ │ │ └── RxTableViewDataSourceType.swift
│ │ │ ├── Proxies
│ │ │ ├── RxCollectionViewDataSourceProxy.swift
│ │ │ ├── RxCollectionViewDelegateProxy.swift
│ │ │ ├── RxImagePickerDelegateProxy.swift
│ │ │ ├── RxPickerViewDelegateProxy.swift
│ │ │ ├── RxScrollViewDelegateProxy.swift
│ │ │ ├── RxSearchBarDelegateProxy.swift
│ │ │ ├── RxSearchControllerDelegateProxy.swift
│ │ │ ├── RxTabBarDelegateProxy.swift
│ │ │ ├── RxTableViewDataSourceProxy.swift
│ │ │ ├── RxTableViewDelegateProxy.swift
│ │ │ ├── RxTextStorageDelegateProxy.swift
│ │ │ └── RxTextViewDelegateProxy.swift
│ │ │ ├── UIActivityIndicatorView+Rx.swift
│ │ │ ├── UIAlertAction+Rx.swift
│ │ │ ├── UIApplication+Rx.swift
│ │ │ ├── UIBarButtonItem+Rx.swift
│ │ │ ├── UIButton+Rx.swift
│ │ │ ├── UICollectionView+Rx.swift
│ │ │ ├── UIControl+Rx.swift
│ │ │ ├── UIDatePicker+Rx.swift
│ │ │ ├── UIGestureRecognizer+Rx.swift
│ │ │ ├── UIImagePickerController+Rx.swift
│ │ │ ├── UIImageView+Rx.swift
│ │ │ ├── UILabel+Rx.swift
│ │ │ ├── UINavigationItem+Rx.swift
│ │ │ ├── UIPageControl+Rx.swift
│ │ │ ├── UIPickerView+Rx.swift
│ │ │ ├── UIProgressView+Rx.swift
│ │ │ ├── UIRefreshControl+Rx.swift
│ │ │ ├── UIScrollView+Rx.swift
│ │ │ ├── UISearchBar+Rx.swift
│ │ │ ├── UISearchController+Rx.swift
│ │ │ ├── UISegmentedControl+Rx.swift
│ │ │ ├── UISlider+Rx.swift
│ │ │ ├── UIStepper+Rx.swift
│ │ │ ├── UISwitch+Rx.swift
│ │ │ ├── UITabBar+Rx.swift
│ │ │ ├── UITabBarItem+Rx.swift
│ │ │ ├── UITableView+Rx.swift
│ │ │ ├── UITextField+Rx.swift
│ │ │ ├── UITextView+Rx.swift
│ │ │ ├── UIView+Rx.swift
│ │ │ └── UIViewController+Rx.swift
│ ├── RxSwift
│ │ ├── LICENSE.md
│ │ ├── README.md
│ │ └── RxSwift
│ │ │ ├── AnyObserver.swift
│ │ │ ├── Cancelable.swift
│ │ │ ├── Concurrency
│ │ │ ├── AsyncLock.swift
│ │ │ ├── Lock.swift
│ │ │ ├── LockOwnerType.swift
│ │ │ ├── SynchronizedDisposeType.swift
│ │ │ ├── SynchronizedOnType.swift
│ │ │ ├── SynchronizedSubscribeType.swift
│ │ │ └── SynchronizedUnsubscribeType.swift
│ │ │ ├── ConnectableObservableType.swift
│ │ │ ├── DataStructures
│ │ │ ├── Bag.swift
│ │ │ ├── InfiniteSequence.swift
│ │ │ ├── PriorityQueue.swift
│ │ │ └── Queue.swift
│ │ │ ├── Disposable.swift
│ │ │ ├── Disposables
│ │ │ ├── AnonymousDisposable.swift
│ │ │ ├── BinaryDisposable.swift
│ │ │ ├── BooleanDisposable.swift
│ │ │ ├── CompositeDisposable.swift
│ │ │ ├── DisposeBag.swift
│ │ │ ├── DisposeBase.swift
│ │ │ ├── NAryDisposable.swift
│ │ │ ├── NopDisposable.swift
│ │ │ ├── RefCountDisposable.swift
│ │ │ ├── ScheduledDisposable.swift
│ │ │ ├── SerialDisposable.swift
│ │ │ ├── SingleAssignmentDisposable.swift
│ │ │ ├── StableCompositeDisposable.swift
│ │ │ └── SubscriptionDisposable.swift
│ │ │ ├── Errors.swift
│ │ │ ├── Event.swift
│ │ │ ├── Extensions
│ │ │ └── String+Rx.swift
│ │ │ ├── ImmediateSchedulerType.swift
│ │ │ ├── Observable+Extensions.swift
│ │ │ ├── Observable.swift
│ │ │ ├── ObservableConvertibleType.swift
│ │ │ ├── ObservableType.swift
│ │ │ ├── Observables
│ │ │ ├── Implementations
│ │ │ │ ├── AddRef.swift
│ │ │ │ ├── Amb.swift
│ │ │ │ ├── AnonymousObservable.swift
│ │ │ │ ├── Buffer.swift
│ │ │ │ ├── Catch.swift
│ │ │ │ ├── CombineLatest+CollectionType.swift
│ │ │ │ ├── CombineLatest+arity.swift
│ │ │ │ ├── CombineLatest.swift
│ │ │ │ ├── Concat.swift
│ │ │ │ ├── ConnectableObservable.swift
│ │ │ │ ├── Debug.swift
│ │ │ │ ├── Deferred.swift
│ │ │ │ ├── DelaySubscription.swift
│ │ │ │ ├── DistinctUntilChanged.swift
│ │ │ │ ├── Do.swift
│ │ │ │ ├── ElementAt.swift
│ │ │ │ ├── Empty.swift
│ │ │ │ ├── Error.swift
│ │ │ │ ├── Filter.swift
│ │ │ │ ├── Generate.swift
│ │ │ │ ├── Just.swift
│ │ │ │ ├── Map.swift
│ │ │ │ ├── Merge.swift
│ │ │ │ ├── Multicast.swift
│ │ │ │ ├── Never.swift
│ │ │ │ ├── ObserveOn.swift
│ │ │ │ ├── ObserveOnSerialDispatchQueue.swift
│ │ │ │ ├── Producer.swift
│ │ │ │ ├── Range.swift
│ │ │ │ ├── Reduce.swift
│ │ │ │ ├── RefCount.swift
│ │ │ │ ├── Repeat.swift
│ │ │ │ ├── RetryWhen.swift
│ │ │ │ ├── Sample.swift
│ │ │ │ ├── Scan.swift
│ │ │ │ ├── Sequence.swift
│ │ │ │ ├── ShareReplay1.swift
│ │ │ │ ├── ShareReplay1WhileConnected.swift
│ │ │ │ ├── SingleAsync.swift
│ │ │ │ ├── Sink.swift
│ │ │ │ ├── Skip.swift
│ │ │ │ ├── SkipUntil.swift
│ │ │ │ ├── SkipWhile.swift
│ │ │ │ ├── StartWith.swift
│ │ │ │ ├── SubscribeOn.swift
│ │ │ │ ├── Switch.swift
│ │ │ │ ├── Take.swift
│ │ │ │ ├── TakeLast.swift
│ │ │ │ ├── TakeUntil.swift
│ │ │ │ ├── TakeWhile.swift
│ │ │ │ ├── Throttle.swift
│ │ │ │ ├── Timeout.swift
│ │ │ │ ├── Timer.swift
│ │ │ │ ├── ToArray.swift
│ │ │ │ ├── Using.swift
│ │ │ │ ├── Window.swift
│ │ │ │ ├── WithLatestFrom.swift
│ │ │ │ ├── Zip+CollectionType.swift
│ │ │ │ ├── Zip+arity.swift
│ │ │ │ └── Zip.swift
│ │ │ ├── Observable+Aggregate.swift
│ │ │ ├── Observable+Binding.swift
│ │ │ ├── Observable+Concurrency.swift
│ │ │ ├── Observable+Creation.swift
│ │ │ ├── Observable+Debug.swift
│ │ │ ├── Observable+Multiple.swift
│ │ │ ├── Observable+Single.swift
│ │ │ ├── Observable+StandardSequenceOperators.swift
│ │ │ └── Observable+Time.swift
│ │ │ ├── ObserverType.swift
│ │ │ ├── Observers
│ │ │ ├── AnonymousObserver.swift
│ │ │ ├── ObserverBase.swift
│ │ │ └── TailRecursiveSink.swift
│ │ │ ├── Platform
│ │ │ ├── Platform.Darwin.swift
│ │ │ └── Platform.Linux.swift
│ │ │ ├── Rx.swift
│ │ │ ├── RxMutableBox.swift
│ │ │ ├── SchedulerType.swift
│ │ │ ├── Schedulers
│ │ │ ├── ConcurrentDispatchQueueScheduler.swift
│ │ │ ├── ConcurrentMainScheduler.swift
│ │ │ ├── CurrentThreadScheduler.swift
│ │ │ ├── DispatchQueueSchedulerQOS.swift
│ │ │ ├── HistoricalScheduler.swift
│ │ │ ├── HistoricalSchedulerTimeConverter.swift
│ │ │ ├── ImmediateScheduler.swift
│ │ │ ├── Internal
│ │ │ │ ├── AnonymousInvocable.swift
│ │ │ │ ├── InvocableScheduledItem.swift
│ │ │ │ ├── InvocableType.swift
│ │ │ │ ├── ScheduledItem.swift
│ │ │ │ └── ScheduledItemType.swift
│ │ │ ├── MainScheduler.swift
│ │ │ ├── OperationQueueScheduler.swift
│ │ │ ├── RecursiveScheduler.swift
│ │ │ ├── SchedulerServices+Emulation.swift
│ │ │ ├── SerialDispatchQueueScheduler.swift
│ │ │ ├── VirtualTimeConverterType.swift
│ │ │ └── VirtualTimeScheduler.swift
│ │ │ └── Subjects
│ │ │ ├── BehaviorSubject.swift
│ │ │ ├── PublishSubject.swift
│ │ │ ├── ReplaySubject.swift
│ │ │ ├── SubjectType.swift
│ │ │ └── Variable.swift
│ └── Target Support Files
│ │ ├── Action
│ │ ├── Action-dummy.m
│ │ ├── Action-prefix.pch
│ │ ├── Action-umbrella.h
│ │ ├── Action.modulemap
│ │ ├── Action.xcconfig
│ │ └── Info.plist
│ │ ├── Pods-RxClassroom
│ │ ├── Info.plist
│ │ ├── Pods-RxClassroom-acknowledgements.markdown
│ │ ├── Pods-RxClassroom-acknowledgements.plist
│ │ ├── Pods-RxClassroom-dummy.m
│ │ ├── Pods-RxClassroom-frameworks.sh
│ │ ├── Pods-RxClassroom-resources.sh
│ │ ├── Pods-RxClassroom-umbrella.h
│ │ ├── Pods-RxClassroom.debug.xcconfig
│ │ ├── Pods-RxClassroom.modulemap
│ │ └── Pods-RxClassroom.release.xcconfig
│ │ ├── RxCocoa
│ │ ├── Info.plist
│ │ ├── RxCocoa-dummy.m
│ │ ├── RxCocoa-prefix.pch
│ │ ├── RxCocoa-umbrella.h
│ │ ├── RxCocoa.modulemap
│ │ └── RxCocoa.xcconfig
│ │ └── RxSwift
│ │ ├── Info.plist
│ │ ├── RxSwift-dummy.m
│ │ ├── RxSwift-prefix.pch
│ │ ├── RxSwift-umbrella.h
│ │ ├── RxSwift.modulemap
│ │ └── RxSwift.xcconfig
├── RxClassroom.xcodeproj
│ ├── project.pbxproj
│ ├── project.xcworkspace
│ │ ├── contents.xcworkspacedata
│ │ └── xcuserdata
│ │ │ └── fpillet.xcuserdatad
│ │ │ ├── UserInterfaceState.xcuserstate
│ │ │ └── xcschemes
│ │ │ └── xcschememanagement.plist
│ ├── xcshareddata
│ │ └── xcschemes
│ │ │ └── RxClassroom.xcscheme
│ └── xcuserdata
│ │ └── fpillet.xcuserdatad
│ │ └── xcschemes
│ │ └── xcschememanagement.plist
├── RxClassroom.xcworkspace
│ ├── contents.xcworkspacedata
│ └── xcuserdata
│ │ └── fpillet.xcuserdatad
│ │ ├── UserInterfaceState.xcuserstate
│ │ ├── xcdebugger
│ │ └── Breakpoints_v2.xcbkptlist
│ │ └── xcschemes
│ │ └── xcschememanagement.plist
├── RxClassroom
│ ├── AppDelegate.swift
│ ├── Assets.xcassets
│ │ └── AppIcon.appiconset
│ │ │ └── Contents.json
│ ├── Base.lproj
│ │ ├── LaunchScreen.storyboard
│ │ └── Main.storyboard
│ ├── Info.plist
│ ├── MainViewController.swift
│ └── MainViewModel.swift
└── RxClassroomTests
│ ├── Info.plist
│ └── RxClassroomTests.swift
├── RxClassRoomStep2
├── .idea
│ ├── RxClassroom.iml
│ ├── encodings.xml
│ ├── misc.xml
│ ├── modules.xml
│ ├── vcs.xml
│ ├── workspace.xml
│ └── xcode.xml
├── Podfile
├── Podfile.lock
├── Pods
│ ├── Action
│ │ ├── Action.swift
│ │ ├── AlertAction.swift
│ │ ├── License.md
│ │ ├── Readme.md
│ │ ├── UIBarButtonItem+Action.swift
│ │ └── UIButton+Rx.swift
│ ├── Manifest.lock
│ ├── Pods.xcodeproj
│ │ ├── project.pbxproj
│ │ └── xcuserdata
│ │ │ └── fpillet.xcuserdatad
│ │ │ └── xcschemes
│ │ │ ├── Action.xcscheme
│ │ │ ├── Pods-RxClassroom.xcscheme
│ │ │ ├── RxCocoa.xcscheme
│ │ │ ├── RxSwift.xcscheme
│ │ │ └── xcschememanagement.plist
│ ├── RxCocoa
│ │ ├── LICENSE.md
│ │ ├── README.md
│ │ └── RxCocoa
│ │ │ ├── Common
│ │ │ ├── CLLocationManager+Rx.swift
│ │ │ ├── CocoaUnits
│ │ │ │ ├── ControlEvent.swift
│ │ │ │ ├── ControlProperty.swift
│ │ │ │ ├── Driver
│ │ │ │ │ ├── ControlEvent+Driver.swift
│ │ │ │ │ ├── ControlProperty+Driver.swift
│ │ │ │ │ ├── Driver+Operators+arity.swift
│ │ │ │ │ ├── Driver+Operators.swift
│ │ │ │ │ ├── Driver+Subscription.swift
│ │ │ │ │ ├── Driver.swift
│ │ │ │ │ ├── ObservableConvertibleType+Driver.swift
│ │ │ │ │ └── Variable+Driver.swift
│ │ │ │ └── UIBindingObserver.swift
│ │ │ ├── DelegateProxy.swift
│ │ │ ├── DelegateProxyType.swift
│ │ │ ├── KVORepresentable+CoreGraphics.swift
│ │ │ ├── KVORepresentable+Swift.swift
│ │ │ ├── KVORepresentable.swift
│ │ │ ├── Logging.swift
│ │ │ ├── NSLayoutConstraint+Rx.swift
│ │ │ ├── Observable+Bind.swift
│ │ │ ├── Observables
│ │ │ │ ├── Implementations
│ │ │ │ │ ├── ControlTarget.swift
│ │ │ │ │ ├── DeallocObservable.swift
│ │ │ │ │ ├── KVOObservable.swift
│ │ │ │ │ ├── KVOObserver.swift
│ │ │ │ │ └── MessageSentObserver.swift
│ │ │ │ ├── NSNotificationCenter+Rx.swift
│ │ │ │ ├── NSObject+Rx+KVORepresentable.swift
│ │ │ │ ├── NSObject+Rx+RawRepresentable.swift
│ │ │ │ ├── NSObject+Rx.swift
│ │ │ │ └── NSURLSession+Rx.swift
│ │ │ ├── Proxies
│ │ │ │ └── RxCLLocationManagerDelegateProxy.swift
│ │ │ ├── Reactive.swift
│ │ │ ├── RxCocoa.swift
│ │ │ ├── RxTarget.swift
│ │ │ ├── RxTextInput.swift
│ │ │ ├── SectionedViewDataSourceType.swift
│ │ │ ├── _RX.h
│ │ │ ├── _RX.m
│ │ │ ├── _RXDelegateProxy.h
│ │ │ ├── _RXDelegateProxy.m
│ │ │ ├── _RXKVOObserver.h
│ │ │ ├── _RXKVOObserver.m
│ │ │ ├── _RXObjCRuntime.h
│ │ │ └── _RXObjCRuntime.m
│ │ │ ├── RxCocoa.h
│ │ │ └── iOS
│ │ │ ├── DataSources
│ │ │ ├── RxCollectionViewReactiveArrayDataSource.swift
│ │ │ └── RxTableViewReactiveArrayDataSource.swift
│ │ │ ├── Events
│ │ │ └── ItemEvents.swift
│ │ │ ├── NSTextStorage+Rx.swift
│ │ │ ├── Protocols
│ │ │ ├── RxCollectionViewDataSourceType.swift
│ │ │ └── RxTableViewDataSourceType.swift
│ │ │ ├── Proxies
│ │ │ ├── RxCollectionViewDataSourceProxy.swift
│ │ │ ├── RxCollectionViewDelegateProxy.swift
│ │ │ ├── RxImagePickerDelegateProxy.swift
│ │ │ ├── RxPickerViewDelegateProxy.swift
│ │ │ ├── RxScrollViewDelegateProxy.swift
│ │ │ ├── RxSearchBarDelegateProxy.swift
│ │ │ ├── RxSearchControllerDelegateProxy.swift
│ │ │ ├── RxTabBarDelegateProxy.swift
│ │ │ ├── RxTableViewDataSourceProxy.swift
│ │ │ ├── RxTableViewDelegateProxy.swift
│ │ │ ├── RxTextStorageDelegateProxy.swift
│ │ │ └── RxTextViewDelegateProxy.swift
│ │ │ ├── UIActivityIndicatorView+Rx.swift
│ │ │ ├── UIAlertAction+Rx.swift
│ │ │ ├── UIApplication+Rx.swift
│ │ │ ├── UIBarButtonItem+Rx.swift
│ │ │ ├── UIButton+Rx.swift
│ │ │ ├── UICollectionView+Rx.swift
│ │ │ ├── UIControl+Rx.swift
│ │ │ ├── UIDatePicker+Rx.swift
│ │ │ ├── UIGestureRecognizer+Rx.swift
│ │ │ ├── UIImagePickerController+Rx.swift
│ │ │ ├── UIImageView+Rx.swift
│ │ │ ├── UILabel+Rx.swift
│ │ │ ├── UINavigationItem+Rx.swift
│ │ │ ├── UIPageControl+Rx.swift
│ │ │ ├── UIPickerView+Rx.swift
│ │ │ ├── UIProgressView+Rx.swift
│ │ │ ├── UIRefreshControl+Rx.swift
│ │ │ ├── UIScrollView+Rx.swift
│ │ │ ├── UISearchBar+Rx.swift
│ │ │ ├── UISearchController+Rx.swift
│ │ │ ├── UISegmentedControl+Rx.swift
│ │ │ ├── UISlider+Rx.swift
│ │ │ ├── UIStepper+Rx.swift
│ │ │ ├── UISwitch+Rx.swift
│ │ │ ├── UITabBar+Rx.swift
│ │ │ ├── UITabBarItem+Rx.swift
│ │ │ ├── UITableView+Rx.swift
│ │ │ ├── UITextField+Rx.swift
│ │ │ ├── UITextView+Rx.swift
│ │ │ ├── UIView+Rx.swift
│ │ │ └── UIViewController+Rx.swift
│ ├── RxSwift
│ │ ├── LICENSE.md
│ │ ├── README.md
│ │ └── RxSwift
│ │ │ ├── AnyObserver.swift
│ │ │ ├── Cancelable.swift
│ │ │ ├── Concurrency
│ │ │ ├── AsyncLock.swift
│ │ │ ├── Lock.swift
│ │ │ ├── LockOwnerType.swift
│ │ │ ├── SynchronizedDisposeType.swift
│ │ │ ├── SynchronizedOnType.swift
│ │ │ ├── SynchronizedSubscribeType.swift
│ │ │ └── SynchronizedUnsubscribeType.swift
│ │ │ ├── ConnectableObservableType.swift
│ │ │ ├── DataStructures
│ │ │ ├── Bag.swift
│ │ │ ├── InfiniteSequence.swift
│ │ │ ├── PriorityQueue.swift
│ │ │ └── Queue.swift
│ │ │ ├── Disposable.swift
│ │ │ ├── Disposables
│ │ │ ├── AnonymousDisposable.swift
│ │ │ ├── BinaryDisposable.swift
│ │ │ ├── BooleanDisposable.swift
│ │ │ ├── CompositeDisposable.swift
│ │ │ ├── DisposeBag.swift
│ │ │ ├── DisposeBase.swift
│ │ │ ├── NAryDisposable.swift
│ │ │ ├── NopDisposable.swift
│ │ │ ├── RefCountDisposable.swift
│ │ │ ├── ScheduledDisposable.swift
│ │ │ ├── SerialDisposable.swift
│ │ │ ├── SingleAssignmentDisposable.swift
│ │ │ ├── StableCompositeDisposable.swift
│ │ │ └── SubscriptionDisposable.swift
│ │ │ ├── Errors.swift
│ │ │ ├── Event.swift
│ │ │ ├── Extensions
│ │ │ └── String+Rx.swift
│ │ │ ├── ImmediateSchedulerType.swift
│ │ │ ├── Observable+Extensions.swift
│ │ │ ├── Observable.swift
│ │ │ ├── ObservableConvertibleType.swift
│ │ │ ├── ObservableType.swift
│ │ │ ├── Observables
│ │ │ ├── Implementations
│ │ │ │ ├── AddRef.swift
│ │ │ │ ├── Amb.swift
│ │ │ │ ├── AnonymousObservable.swift
│ │ │ │ ├── Buffer.swift
│ │ │ │ ├── Catch.swift
│ │ │ │ ├── CombineLatest+CollectionType.swift
│ │ │ │ ├── CombineLatest+arity.swift
│ │ │ │ ├── CombineLatest.swift
│ │ │ │ ├── Concat.swift
│ │ │ │ ├── ConnectableObservable.swift
│ │ │ │ ├── Debug.swift
│ │ │ │ ├── Deferred.swift
│ │ │ │ ├── DelaySubscription.swift
│ │ │ │ ├── DistinctUntilChanged.swift
│ │ │ │ ├── Do.swift
│ │ │ │ ├── ElementAt.swift
│ │ │ │ ├── Empty.swift
│ │ │ │ ├── Error.swift
│ │ │ │ ├── Filter.swift
│ │ │ │ ├── Generate.swift
│ │ │ │ ├── Just.swift
│ │ │ │ ├── Map.swift
│ │ │ │ ├── Merge.swift
│ │ │ │ ├── Multicast.swift
│ │ │ │ ├── Never.swift
│ │ │ │ ├── ObserveOn.swift
│ │ │ │ ├── ObserveOnSerialDispatchQueue.swift
│ │ │ │ ├── Producer.swift
│ │ │ │ ├── Range.swift
│ │ │ │ ├── Reduce.swift
│ │ │ │ ├── RefCount.swift
│ │ │ │ ├── Repeat.swift
│ │ │ │ ├── RetryWhen.swift
│ │ │ │ ├── Sample.swift
│ │ │ │ ├── Scan.swift
│ │ │ │ ├── Sequence.swift
│ │ │ │ ├── ShareReplay1.swift
│ │ │ │ ├── ShareReplay1WhileConnected.swift
│ │ │ │ ├── SingleAsync.swift
│ │ │ │ ├── Sink.swift
│ │ │ │ ├── Skip.swift
│ │ │ │ ├── SkipUntil.swift
│ │ │ │ ├── SkipWhile.swift
│ │ │ │ ├── StartWith.swift
│ │ │ │ ├── SubscribeOn.swift
│ │ │ │ ├── Switch.swift
│ │ │ │ ├── Take.swift
│ │ │ │ ├── TakeLast.swift
│ │ │ │ ├── TakeUntil.swift
│ │ │ │ ├── TakeWhile.swift
│ │ │ │ ├── Throttle.swift
│ │ │ │ ├── Timeout.swift
│ │ │ │ ├── Timer.swift
│ │ │ │ ├── ToArray.swift
│ │ │ │ ├── Using.swift
│ │ │ │ ├── Window.swift
│ │ │ │ ├── WithLatestFrom.swift
│ │ │ │ ├── Zip+CollectionType.swift
│ │ │ │ ├── Zip+arity.swift
│ │ │ │ └── Zip.swift
│ │ │ ├── Observable+Aggregate.swift
│ │ │ ├── Observable+Binding.swift
│ │ │ ├── Observable+Concurrency.swift
│ │ │ ├── Observable+Creation.swift
│ │ │ ├── Observable+Debug.swift
│ │ │ ├── Observable+Multiple.swift
│ │ │ ├── Observable+Single.swift
│ │ │ ├── Observable+StandardSequenceOperators.swift
│ │ │ └── Observable+Time.swift
│ │ │ ├── ObserverType.swift
│ │ │ ├── Observers
│ │ │ ├── AnonymousObserver.swift
│ │ │ ├── ObserverBase.swift
│ │ │ └── TailRecursiveSink.swift
│ │ │ ├── Platform
│ │ │ ├── Platform.Darwin.swift
│ │ │ └── Platform.Linux.swift
│ │ │ ├── Rx.swift
│ │ │ ├── RxMutableBox.swift
│ │ │ ├── SchedulerType.swift
│ │ │ ├── Schedulers
│ │ │ ├── ConcurrentDispatchQueueScheduler.swift
│ │ │ ├── ConcurrentMainScheduler.swift
│ │ │ ├── CurrentThreadScheduler.swift
│ │ │ ├── DispatchQueueSchedulerQOS.swift
│ │ │ ├── HistoricalScheduler.swift
│ │ │ ├── HistoricalSchedulerTimeConverter.swift
│ │ │ ├── ImmediateScheduler.swift
│ │ │ ├── Internal
│ │ │ │ ├── AnonymousInvocable.swift
│ │ │ │ ├── InvocableScheduledItem.swift
│ │ │ │ ├── InvocableType.swift
│ │ │ │ ├── ScheduledItem.swift
│ │ │ │ └── ScheduledItemType.swift
│ │ │ ├── MainScheduler.swift
│ │ │ ├── OperationQueueScheduler.swift
│ │ │ ├── RecursiveScheduler.swift
│ │ │ ├── SchedulerServices+Emulation.swift
│ │ │ ├── SerialDispatchQueueScheduler.swift
│ │ │ ├── VirtualTimeConverterType.swift
│ │ │ └── VirtualTimeScheduler.swift
│ │ │ └── Subjects
│ │ │ ├── BehaviorSubject.swift
│ │ │ ├── PublishSubject.swift
│ │ │ ├── ReplaySubject.swift
│ │ │ ├── SubjectType.swift
│ │ │ └── Variable.swift
│ └── Target Support Files
│ │ ├── Action
│ │ ├── Action-dummy.m
│ │ ├── Action-prefix.pch
│ │ ├── Action-umbrella.h
│ │ ├── Action.modulemap
│ │ ├── Action.xcconfig
│ │ └── Info.plist
│ │ ├── Pods-RxClassroom
│ │ ├── Info.plist
│ │ ├── Pods-RxClassroom-acknowledgements.markdown
│ │ ├── Pods-RxClassroom-acknowledgements.plist
│ │ ├── Pods-RxClassroom-dummy.m
│ │ ├── Pods-RxClassroom-frameworks.sh
│ │ ├── Pods-RxClassroom-resources.sh
│ │ ├── Pods-RxClassroom-umbrella.h
│ │ ├── Pods-RxClassroom.debug.xcconfig
│ │ ├── Pods-RxClassroom.modulemap
│ │ └── Pods-RxClassroom.release.xcconfig
│ │ ├── RxCocoa
│ │ ├── Info.plist
│ │ ├── RxCocoa-dummy.m
│ │ ├── RxCocoa-prefix.pch
│ │ ├── RxCocoa-umbrella.h
│ │ ├── RxCocoa.modulemap
│ │ └── RxCocoa.xcconfig
│ │ └── RxSwift
│ │ ├── Info.plist
│ │ ├── RxSwift-dummy.m
│ │ ├── RxSwift-prefix.pch
│ │ ├── RxSwift-umbrella.h
│ │ ├── RxSwift.modulemap
│ │ └── RxSwift.xcconfig
├── RxClassroom.xcodeproj
│ ├── project.pbxproj
│ ├── project.xcworkspace
│ │ ├── contents.xcworkspacedata
│ │ └── xcuserdata
│ │ │ └── fpillet.xcuserdatad
│ │ │ ├── UserInterfaceState.xcuserstate
│ │ │ └── xcschemes
│ │ │ └── xcschememanagement.plist
│ ├── xcshareddata
│ │ └── xcschemes
│ │ │ └── RxClassroom.xcscheme
│ └── xcuserdata
│ │ └── fpillet.xcuserdatad
│ │ └── xcschemes
│ │ └── xcschememanagement.plist
├── RxClassroom.xcworkspace
│ ├── contents.xcworkspacedata
│ └── xcuserdata
│ │ └── fpillet.xcuserdatad
│ │ ├── UserInterfaceState.xcuserstate
│ │ ├── xcdebugger
│ │ └── Breakpoints_v2.xcbkptlist
│ │ └── xcschemes
│ │ └── xcschememanagement.plist
├── RxClassroom
│ ├── AppDelegate.swift
│ ├── Assets.xcassets
│ │ └── AppIcon.appiconset
│ │ │ └── Contents.json
│ ├── Base.lproj
│ │ ├── LaunchScreen.storyboard
│ │ └── Main.storyboard
│ ├── Info.plist
│ ├── MainViewController.swift
│ └── MainViewModel.swift
└── RxClassroomTests
│ ├── Info.plist
│ └── RxClassroomTests.swift
├── RxClassRoomStep3
├── .idea
│ ├── RxClassroom.iml
│ ├── encodings.xml
│ ├── misc.xml
│ ├── modules.xml
│ ├── vcs.xml
│ ├── workspace.xml
│ └── xcode.xml
├── Podfile
├── Podfile.lock
├── Pods
│ ├── Action
│ │ ├── Action.swift
│ │ ├── AlertAction.swift
│ │ ├── License.md
│ │ ├── Readme.md
│ │ ├── UIBarButtonItem+Action.swift
│ │ └── UIButton+Rx.swift
│ ├── Manifest.lock
│ ├── Pods.xcodeproj
│ │ ├── project.pbxproj
│ │ └── xcuserdata
│ │ │ └── fpillet.xcuserdatad
│ │ │ └── xcschemes
│ │ │ ├── Action.xcscheme
│ │ │ ├── Pods-RxClassroom.xcscheme
│ │ │ ├── RxCocoa.xcscheme
│ │ │ ├── RxSwift.xcscheme
│ │ │ └── xcschememanagement.plist
│ ├── RxCocoa
│ │ ├── LICENSE.md
│ │ ├── README.md
│ │ └── RxCocoa
│ │ │ ├── Common
│ │ │ ├── CLLocationManager+Rx.swift
│ │ │ ├── CocoaUnits
│ │ │ │ ├── ControlEvent.swift
│ │ │ │ ├── ControlProperty.swift
│ │ │ │ ├── Driver
│ │ │ │ │ ├── ControlEvent+Driver.swift
│ │ │ │ │ ├── ControlProperty+Driver.swift
│ │ │ │ │ ├── Driver+Operators+arity.swift
│ │ │ │ │ ├── Driver+Operators.swift
│ │ │ │ │ ├── Driver+Subscription.swift
│ │ │ │ │ ├── Driver.swift
│ │ │ │ │ ├── ObservableConvertibleType+Driver.swift
│ │ │ │ │ └── Variable+Driver.swift
│ │ │ │ └── UIBindingObserver.swift
│ │ │ ├── DelegateProxy.swift
│ │ │ ├── DelegateProxyType.swift
│ │ │ ├── KVORepresentable+CoreGraphics.swift
│ │ │ ├── KVORepresentable+Swift.swift
│ │ │ ├── KVORepresentable.swift
│ │ │ ├── Logging.swift
│ │ │ ├── NSLayoutConstraint+Rx.swift
│ │ │ ├── Observable+Bind.swift
│ │ │ ├── Observables
│ │ │ │ ├── Implementations
│ │ │ │ │ ├── ControlTarget.swift
│ │ │ │ │ ├── DeallocObservable.swift
│ │ │ │ │ ├── KVOObservable.swift
│ │ │ │ │ ├── KVOObserver.swift
│ │ │ │ │ └── MessageSentObserver.swift
│ │ │ │ ├── NSNotificationCenter+Rx.swift
│ │ │ │ ├── NSObject+Rx+KVORepresentable.swift
│ │ │ │ ├── NSObject+Rx+RawRepresentable.swift
│ │ │ │ ├── NSObject+Rx.swift
│ │ │ │ └── NSURLSession+Rx.swift
│ │ │ ├── Proxies
│ │ │ │ └── RxCLLocationManagerDelegateProxy.swift
│ │ │ ├── Reactive.swift
│ │ │ ├── RxCocoa.swift
│ │ │ ├── RxTarget.swift
│ │ │ ├── RxTextInput.swift
│ │ │ ├── SectionedViewDataSourceType.swift
│ │ │ ├── _RX.h
│ │ │ ├── _RX.m
│ │ │ ├── _RXDelegateProxy.h
│ │ │ ├── _RXDelegateProxy.m
│ │ │ ├── _RXKVOObserver.h
│ │ │ ├── _RXKVOObserver.m
│ │ │ ├── _RXObjCRuntime.h
│ │ │ └── _RXObjCRuntime.m
│ │ │ ├── RxCocoa.h
│ │ │ └── iOS
│ │ │ ├── DataSources
│ │ │ ├── RxCollectionViewReactiveArrayDataSource.swift
│ │ │ └── RxTableViewReactiveArrayDataSource.swift
│ │ │ ├── Events
│ │ │ └── ItemEvents.swift
│ │ │ ├── NSTextStorage+Rx.swift
│ │ │ ├── Protocols
│ │ │ ├── RxCollectionViewDataSourceType.swift
│ │ │ └── RxTableViewDataSourceType.swift
│ │ │ ├── Proxies
│ │ │ ├── RxCollectionViewDataSourceProxy.swift
│ │ │ ├── RxCollectionViewDelegateProxy.swift
│ │ │ ├── RxImagePickerDelegateProxy.swift
│ │ │ ├── RxPickerViewDelegateProxy.swift
│ │ │ ├── RxScrollViewDelegateProxy.swift
│ │ │ ├── RxSearchBarDelegateProxy.swift
│ │ │ ├── RxSearchControllerDelegateProxy.swift
│ │ │ ├── RxTabBarDelegateProxy.swift
│ │ │ ├── RxTableViewDataSourceProxy.swift
│ │ │ ├── RxTableViewDelegateProxy.swift
│ │ │ ├── RxTextStorageDelegateProxy.swift
│ │ │ └── RxTextViewDelegateProxy.swift
│ │ │ ├── UIActivityIndicatorView+Rx.swift
│ │ │ ├── UIAlertAction+Rx.swift
│ │ │ ├── UIApplication+Rx.swift
│ │ │ ├── UIBarButtonItem+Rx.swift
│ │ │ ├── UIButton+Rx.swift
│ │ │ ├── UICollectionView+Rx.swift
│ │ │ ├── UIControl+Rx.swift
│ │ │ ├── UIDatePicker+Rx.swift
│ │ │ ├── UIGestureRecognizer+Rx.swift
│ │ │ ├── UIImagePickerController+Rx.swift
│ │ │ ├── UIImageView+Rx.swift
│ │ │ ├── UILabel+Rx.swift
│ │ │ ├── UINavigationItem+Rx.swift
│ │ │ ├── UIPageControl+Rx.swift
│ │ │ ├── UIPickerView+Rx.swift
│ │ │ ├── UIProgressView+Rx.swift
│ │ │ ├── UIRefreshControl+Rx.swift
│ │ │ ├── UIScrollView+Rx.swift
│ │ │ ├── UISearchBar+Rx.swift
│ │ │ ├── UISearchController+Rx.swift
│ │ │ ├── UISegmentedControl+Rx.swift
│ │ │ ├── UISlider+Rx.swift
│ │ │ ├── UIStepper+Rx.swift
│ │ │ ├── UISwitch+Rx.swift
│ │ │ ├── UITabBar+Rx.swift
│ │ │ ├── UITabBarItem+Rx.swift
│ │ │ ├── UITableView+Rx.swift
│ │ │ ├── UITextField+Rx.swift
│ │ │ ├── UITextView+Rx.swift
│ │ │ ├── UIView+Rx.swift
│ │ │ └── UIViewController+Rx.swift
│ ├── RxSwift
│ │ ├── LICENSE.md
│ │ ├── README.md
│ │ └── RxSwift
│ │ │ ├── AnyObserver.swift
│ │ │ ├── Cancelable.swift
│ │ │ ├── Concurrency
│ │ │ ├── AsyncLock.swift
│ │ │ ├── Lock.swift
│ │ │ ├── LockOwnerType.swift
│ │ │ ├── SynchronizedDisposeType.swift
│ │ │ ├── SynchronizedOnType.swift
│ │ │ ├── SynchronizedSubscribeType.swift
│ │ │ └── SynchronizedUnsubscribeType.swift
│ │ │ ├── ConnectableObservableType.swift
│ │ │ ├── DataStructures
│ │ │ ├── Bag.swift
│ │ │ ├── InfiniteSequence.swift
│ │ │ ├── PriorityQueue.swift
│ │ │ └── Queue.swift
│ │ │ ├── Disposable.swift
│ │ │ ├── Disposables
│ │ │ ├── AnonymousDisposable.swift
│ │ │ ├── BinaryDisposable.swift
│ │ │ ├── BooleanDisposable.swift
│ │ │ ├── CompositeDisposable.swift
│ │ │ ├── DisposeBag.swift
│ │ │ ├── DisposeBase.swift
│ │ │ ├── NAryDisposable.swift
│ │ │ ├── NopDisposable.swift
│ │ │ ├── RefCountDisposable.swift
│ │ │ ├── ScheduledDisposable.swift
│ │ │ ├── SerialDisposable.swift
│ │ │ ├── SingleAssignmentDisposable.swift
│ │ │ ├── StableCompositeDisposable.swift
│ │ │ └── SubscriptionDisposable.swift
│ │ │ ├── Errors.swift
│ │ │ ├── Event.swift
│ │ │ ├── Extensions
│ │ │ └── String+Rx.swift
│ │ │ ├── ImmediateSchedulerType.swift
│ │ │ ├── Observable+Extensions.swift
│ │ │ ├── Observable.swift
│ │ │ ├── ObservableConvertibleType.swift
│ │ │ ├── ObservableType.swift
│ │ │ ├── Observables
│ │ │ ├── Implementations
│ │ │ │ ├── AddRef.swift
│ │ │ │ ├── Amb.swift
│ │ │ │ ├── AnonymousObservable.swift
│ │ │ │ ├── Buffer.swift
│ │ │ │ ├── Catch.swift
│ │ │ │ ├── CombineLatest+CollectionType.swift
│ │ │ │ ├── CombineLatest+arity.swift
│ │ │ │ ├── CombineLatest.swift
│ │ │ │ ├── Concat.swift
│ │ │ │ ├── ConnectableObservable.swift
│ │ │ │ ├── Debug.swift
│ │ │ │ ├── Deferred.swift
│ │ │ │ ├── DelaySubscription.swift
│ │ │ │ ├── DistinctUntilChanged.swift
│ │ │ │ ├── Do.swift
│ │ │ │ ├── ElementAt.swift
│ │ │ │ ├── Empty.swift
│ │ │ │ ├── Error.swift
│ │ │ │ ├── Filter.swift
│ │ │ │ ├── Generate.swift
│ │ │ │ ├── Just.swift
│ │ │ │ ├── Map.swift
│ │ │ │ ├── Merge.swift
│ │ │ │ ├── Multicast.swift
│ │ │ │ ├── Never.swift
│ │ │ │ ├── ObserveOn.swift
│ │ │ │ ├── ObserveOnSerialDispatchQueue.swift
│ │ │ │ ├── Producer.swift
│ │ │ │ ├── Range.swift
│ │ │ │ ├── Reduce.swift
│ │ │ │ ├── RefCount.swift
│ │ │ │ ├── Repeat.swift
│ │ │ │ ├── RetryWhen.swift
│ │ │ │ ├── Sample.swift
│ │ │ │ ├── Scan.swift
│ │ │ │ ├── Sequence.swift
│ │ │ │ ├── ShareReplay1.swift
│ │ │ │ ├── ShareReplay1WhileConnected.swift
│ │ │ │ ├── SingleAsync.swift
│ │ │ │ ├── Sink.swift
│ │ │ │ ├── Skip.swift
│ │ │ │ ├── SkipUntil.swift
│ │ │ │ ├── SkipWhile.swift
│ │ │ │ ├── StartWith.swift
│ │ │ │ ├── SubscribeOn.swift
│ │ │ │ ├── Switch.swift
│ │ │ │ ├── Take.swift
│ │ │ │ ├── TakeLast.swift
│ │ │ │ ├── TakeUntil.swift
│ │ │ │ ├── TakeWhile.swift
│ │ │ │ ├── Throttle.swift
│ │ │ │ ├── Timeout.swift
│ │ │ │ ├── Timer.swift
│ │ │ │ ├── ToArray.swift
│ │ │ │ ├── Using.swift
│ │ │ │ ├── Window.swift
│ │ │ │ ├── WithLatestFrom.swift
│ │ │ │ ├── Zip+CollectionType.swift
│ │ │ │ ├── Zip+arity.swift
│ │ │ │ └── Zip.swift
│ │ │ ├── Observable+Aggregate.swift
│ │ │ ├── Observable+Binding.swift
│ │ │ ├── Observable+Concurrency.swift
│ │ │ ├── Observable+Creation.swift
│ │ │ ├── Observable+Debug.swift
│ │ │ ├── Observable+Multiple.swift
│ │ │ ├── Observable+Single.swift
│ │ │ ├── Observable+StandardSequenceOperators.swift
│ │ │ └── Observable+Time.swift
│ │ │ ├── ObserverType.swift
│ │ │ ├── Observers
│ │ │ ├── AnonymousObserver.swift
│ │ │ ├── ObserverBase.swift
│ │ │ └── TailRecursiveSink.swift
│ │ │ ├── Platform
│ │ │ ├── Platform.Darwin.swift
│ │ │ └── Platform.Linux.swift
│ │ │ ├── Rx.swift
│ │ │ ├── RxMutableBox.swift
│ │ │ ├── SchedulerType.swift
│ │ │ ├── Schedulers
│ │ │ ├── ConcurrentDispatchQueueScheduler.swift
│ │ │ ├── ConcurrentMainScheduler.swift
│ │ │ ├── CurrentThreadScheduler.swift
│ │ │ ├── DispatchQueueSchedulerQOS.swift
│ │ │ ├── HistoricalScheduler.swift
│ │ │ ├── HistoricalSchedulerTimeConverter.swift
│ │ │ ├── ImmediateScheduler.swift
│ │ │ ├── Internal
│ │ │ │ ├── AnonymousInvocable.swift
│ │ │ │ ├── InvocableScheduledItem.swift
│ │ │ │ ├── InvocableType.swift
│ │ │ │ ├── ScheduledItem.swift
│ │ │ │ └── ScheduledItemType.swift
│ │ │ ├── MainScheduler.swift
│ │ │ ├── OperationQueueScheduler.swift
│ │ │ ├── RecursiveScheduler.swift
│ │ │ ├── SchedulerServices+Emulation.swift
│ │ │ ├── SerialDispatchQueueScheduler.swift
│ │ │ ├── VirtualTimeConverterType.swift
│ │ │ └── VirtualTimeScheduler.swift
│ │ │ └── Subjects
│ │ │ ├── BehaviorSubject.swift
│ │ │ ├── PublishSubject.swift
│ │ │ ├── ReplaySubject.swift
│ │ │ ├── SubjectType.swift
│ │ │ └── Variable.swift
│ └── Target Support Files
│ │ ├── Action
│ │ ├── Action-dummy.m
│ │ ├── Action-prefix.pch
│ │ ├── Action-umbrella.h
│ │ ├── Action.modulemap
│ │ ├── Action.xcconfig
│ │ └── Info.plist
│ │ ├── Pods-RxClassroom
│ │ ├── Info.plist
│ │ ├── Pods-RxClassroom-acknowledgements.markdown
│ │ ├── Pods-RxClassroom-acknowledgements.plist
│ │ ├── Pods-RxClassroom-dummy.m
│ │ ├── Pods-RxClassroom-frameworks.sh
│ │ ├── Pods-RxClassroom-resources.sh
│ │ ├── Pods-RxClassroom-umbrella.h
│ │ ├── Pods-RxClassroom.debug.xcconfig
│ │ ├── Pods-RxClassroom.modulemap
│ │ └── Pods-RxClassroom.release.xcconfig
│ │ ├── RxCocoa
│ │ ├── Info.plist
│ │ ├── RxCocoa-dummy.m
│ │ ├── RxCocoa-prefix.pch
│ │ ├── RxCocoa-umbrella.h
│ │ ├── RxCocoa.modulemap
│ │ └── RxCocoa.xcconfig
│ │ └── RxSwift
│ │ ├── Info.plist
│ │ ├── RxSwift-dummy.m
│ │ ├── RxSwift-prefix.pch
│ │ ├── RxSwift-umbrella.h
│ │ ├── RxSwift.modulemap
│ │ └── RxSwift.xcconfig
├── RxClassroom.xcodeproj
│ ├── project.pbxproj
│ ├── project.xcworkspace
│ │ ├── contents.xcworkspacedata
│ │ └── xcuserdata
│ │ │ └── fpillet.xcuserdatad
│ │ │ ├── UserInterfaceState.xcuserstate
│ │ │ └── xcschemes
│ │ │ └── xcschememanagement.plist
│ ├── xcshareddata
│ │ └── xcschemes
│ │ │ └── RxClassroom.xcscheme
│ └── xcuserdata
│ │ └── fpillet.xcuserdatad
│ │ └── xcschemes
│ │ └── xcschememanagement.plist
├── RxClassroom.xcworkspace
│ ├── contents.xcworkspacedata
│ └── xcuserdata
│ │ └── fpillet.xcuserdatad
│ │ ├── UserInterfaceState.xcuserstate
│ │ ├── xcdebugger
│ │ └── Breakpoints_v2.xcbkptlist
│ │ └── xcschemes
│ │ └── xcschememanagement.plist
├── RxClassroom
│ ├── AppDelegate.swift
│ ├── Assets.xcassets
│ │ └── AppIcon.appiconset
│ │ │ └── Contents.json
│ ├── Base.lproj
│ │ ├── LaunchScreen.storyboard
│ │ └── Main.storyboard
│ ├── Info.plist
│ ├── MainViewController.swift
│ └── MainViewModel.swift
└── RxClassroomTests
│ ├── Info.plist
│ └── RxClassroomTests.swift
├── RxClassRoomStep4
├── .DS_Store
├── .idea
│ ├── RxClassroom.iml
│ ├── encodings.xml
│ ├── misc.xml
│ ├── modules.xml
│ ├── vcs.xml
│ ├── workspace.xml
│ └── xcode.xml
├── Podfile
├── Podfile.lock
├── Pods
│ ├── Action
│ │ ├── Action.swift
│ │ ├── AlertAction.swift
│ │ ├── License.md
│ │ ├── Readme.md
│ │ ├── UIBarButtonItem+Action.swift
│ │ └── UIButton+Rx.swift
│ ├── Manifest.lock
│ ├── Pods.xcodeproj
│ │ ├── project.pbxproj
│ │ └── xcuserdata
│ │ │ └── fpillet.xcuserdatad
│ │ │ └── xcschemes
│ │ │ ├── Action.xcscheme
│ │ │ ├── Pods-RxClassroom.xcscheme
│ │ │ ├── RxCocoa.xcscheme
│ │ │ ├── RxSwift.xcscheme
│ │ │ └── xcschememanagement.plist
│ ├── RxCocoa
│ │ ├── LICENSE.md
│ │ ├── README.md
│ │ └── RxCocoa
│ │ │ ├── Common
│ │ │ ├── CLLocationManager+Rx.swift
│ │ │ ├── CocoaUnits
│ │ │ │ ├── ControlEvent.swift
│ │ │ │ ├── ControlProperty.swift
│ │ │ │ ├── Driver
│ │ │ │ │ ├── ControlEvent+Driver.swift
│ │ │ │ │ ├── ControlProperty+Driver.swift
│ │ │ │ │ ├── Driver+Operators+arity.swift
│ │ │ │ │ ├── Driver+Operators.swift
│ │ │ │ │ ├── Driver+Subscription.swift
│ │ │ │ │ ├── Driver.swift
│ │ │ │ │ ├── ObservableConvertibleType+Driver.swift
│ │ │ │ │ └── Variable+Driver.swift
│ │ │ │ └── UIBindingObserver.swift
│ │ │ ├── DelegateProxy.swift
│ │ │ ├── DelegateProxyType.swift
│ │ │ ├── KVORepresentable+CoreGraphics.swift
│ │ │ ├── KVORepresentable+Swift.swift
│ │ │ ├── KVORepresentable.swift
│ │ │ ├── Logging.swift
│ │ │ ├── NSLayoutConstraint+Rx.swift
│ │ │ ├── Observable+Bind.swift
│ │ │ ├── Observables
│ │ │ │ ├── Implementations
│ │ │ │ │ ├── ControlTarget.swift
│ │ │ │ │ ├── DeallocObservable.swift
│ │ │ │ │ ├── KVOObservable.swift
│ │ │ │ │ ├── KVOObserver.swift
│ │ │ │ │ └── MessageSentObserver.swift
│ │ │ │ ├── NSNotificationCenter+Rx.swift
│ │ │ │ ├── NSObject+Rx+KVORepresentable.swift
│ │ │ │ ├── NSObject+Rx+RawRepresentable.swift
│ │ │ │ ├── NSObject+Rx.swift
│ │ │ │ └── NSURLSession+Rx.swift
│ │ │ ├── Proxies
│ │ │ │ └── RxCLLocationManagerDelegateProxy.swift
│ │ │ ├── Reactive.swift
│ │ │ ├── RxCocoa.swift
│ │ │ ├── RxTarget.swift
│ │ │ ├── RxTextInput.swift
│ │ │ ├── SectionedViewDataSourceType.swift
│ │ │ ├── _RX.h
│ │ │ ├── _RX.m
│ │ │ ├── _RXDelegateProxy.h
│ │ │ ├── _RXDelegateProxy.m
│ │ │ ├── _RXKVOObserver.h
│ │ │ ├── _RXKVOObserver.m
│ │ │ ├── _RXObjCRuntime.h
│ │ │ └── _RXObjCRuntime.m
│ │ │ ├── RxCocoa.h
│ │ │ └── iOS
│ │ │ ├── DataSources
│ │ │ ├── RxCollectionViewReactiveArrayDataSource.swift
│ │ │ └── RxTableViewReactiveArrayDataSource.swift
│ │ │ ├── Events
│ │ │ └── ItemEvents.swift
│ │ │ ├── NSTextStorage+Rx.swift
│ │ │ ├── Protocols
│ │ │ ├── RxCollectionViewDataSourceType.swift
│ │ │ └── RxTableViewDataSourceType.swift
│ │ │ ├── Proxies
│ │ │ ├── RxCollectionViewDataSourceProxy.swift
│ │ │ ├── RxCollectionViewDelegateProxy.swift
│ │ │ ├── RxImagePickerDelegateProxy.swift
│ │ │ ├── RxPickerViewDelegateProxy.swift
│ │ │ ├── RxScrollViewDelegateProxy.swift
│ │ │ ├── RxSearchBarDelegateProxy.swift
│ │ │ ├── RxSearchControllerDelegateProxy.swift
│ │ │ ├── RxTabBarDelegateProxy.swift
│ │ │ ├── RxTableViewDataSourceProxy.swift
│ │ │ ├── RxTableViewDelegateProxy.swift
│ │ │ ├── RxTextStorageDelegateProxy.swift
│ │ │ └── RxTextViewDelegateProxy.swift
│ │ │ ├── UIActivityIndicatorView+Rx.swift
│ │ │ ├── UIAlertAction+Rx.swift
│ │ │ ├── UIApplication+Rx.swift
│ │ │ ├── UIBarButtonItem+Rx.swift
│ │ │ ├── UIButton+Rx.swift
│ │ │ ├── UICollectionView+Rx.swift
│ │ │ ├── UIControl+Rx.swift
│ │ │ ├── UIDatePicker+Rx.swift
│ │ │ ├── UIGestureRecognizer+Rx.swift
│ │ │ ├── UIImagePickerController+Rx.swift
│ │ │ ├── UIImageView+Rx.swift
│ │ │ ├── UILabel+Rx.swift
│ │ │ ├── UINavigationItem+Rx.swift
│ │ │ ├── UIPageControl+Rx.swift
│ │ │ ├── UIPickerView+Rx.swift
│ │ │ ├── UIProgressView+Rx.swift
│ │ │ ├── UIRefreshControl+Rx.swift
│ │ │ ├── UIScrollView+Rx.swift
│ │ │ ├── UISearchBar+Rx.swift
│ │ │ ├── UISearchController+Rx.swift
│ │ │ ├── UISegmentedControl+Rx.swift
│ │ │ ├── UISlider+Rx.swift
│ │ │ ├── UIStepper+Rx.swift
│ │ │ ├── UISwitch+Rx.swift
│ │ │ ├── UITabBar+Rx.swift
│ │ │ ├── UITabBarItem+Rx.swift
│ │ │ ├── UITableView+Rx.swift
│ │ │ ├── UITextField+Rx.swift
│ │ │ ├── UITextView+Rx.swift
│ │ │ ├── UIView+Rx.swift
│ │ │ └── UIViewController+Rx.swift
│ ├── RxSwift
│ │ ├── LICENSE.md
│ │ ├── README.md
│ │ └── RxSwift
│ │ │ ├── AnyObserver.swift
│ │ │ ├── Cancelable.swift
│ │ │ ├── Concurrency
│ │ │ ├── AsyncLock.swift
│ │ │ ├── Lock.swift
│ │ │ ├── LockOwnerType.swift
│ │ │ ├── SynchronizedDisposeType.swift
│ │ │ ├── SynchronizedOnType.swift
│ │ │ ├── SynchronizedSubscribeType.swift
│ │ │ └── SynchronizedUnsubscribeType.swift
│ │ │ ├── ConnectableObservableType.swift
│ │ │ ├── DataStructures
│ │ │ ├── Bag.swift
│ │ │ ├── InfiniteSequence.swift
│ │ │ ├── PriorityQueue.swift
│ │ │ └── Queue.swift
│ │ │ ├── Disposable.swift
│ │ │ ├── Disposables
│ │ │ ├── AnonymousDisposable.swift
│ │ │ ├── BinaryDisposable.swift
│ │ │ ├── BooleanDisposable.swift
│ │ │ ├── CompositeDisposable.swift
│ │ │ ├── DisposeBag.swift
│ │ │ ├── DisposeBase.swift
│ │ │ ├── NAryDisposable.swift
│ │ │ ├── NopDisposable.swift
│ │ │ ├── RefCountDisposable.swift
│ │ │ ├── ScheduledDisposable.swift
│ │ │ ├── SerialDisposable.swift
│ │ │ ├── SingleAssignmentDisposable.swift
│ │ │ ├── StableCompositeDisposable.swift
│ │ │ └── SubscriptionDisposable.swift
│ │ │ ├── Errors.swift
│ │ │ ├── Event.swift
│ │ │ ├── Extensions
│ │ │ └── String+Rx.swift
│ │ │ ├── ImmediateSchedulerType.swift
│ │ │ ├── Observable+Extensions.swift
│ │ │ ├── Observable.swift
│ │ │ ├── ObservableConvertibleType.swift
│ │ │ ├── ObservableType.swift
│ │ │ ├── Observables
│ │ │ ├── Implementations
│ │ │ │ ├── AddRef.swift
│ │ │ │ ├── Amb.swift
│ │ │ │ ├── AnonymousObservable.swift
│ │ │ │ ├── Buffer.swift
│ │ │ │ ├── Catch.swift
│ │ │ │ ├── CombineLatest+CollectionType.swift
│ │ │ │ ├── CombineLatest+arity.swift
│ │ │ │ ├── CombineLatest.swift
│ │ │ │ ├── Concat.swift
│ │ │ │ ├── ConnectableObservable.swift
│ │ │ │ ├── Debug.swift
│ │ │ │ ├── Deferred.swift
│ │ │ │ ├── DelaySubscription.swift
│ │ │ │ ├── DistinctUntilChanged.swift
│ │ │ │ ├── Do.swift
│ │ │ │ ├── ElementAt.swift
│ │ │ │ ├── Empty.swift
│ │ │ │ ├── Error.swift
│ │ │ │ ├── Filter.swift
│ │ │ │ ├── Generate.swift
│ │ │ │ ├── Just.swift
│ │ │ │ ├── Map.swift
│ │ │ │ ├── Merge.swift
│ │ │ │ ├── Multicast.swift
│ │ │ │ ├── Never.swift
│ │ │ │ ├── ObserveOn.swift
│ │ │ │ ├── ObserveOnSerialDispatchQueue.swift
│ │ │ │ ├── Producer.swift
│ │ │ │ ├── Range.swift
│ │ │ │ ├── Reduce.swift
│ │ │ │ ├── RefCount.swift
│ │ │ │ ├── Repeat.swift
│ │ │ │ ├── RetryWhen.swift
│ │ │ │ ├── Sample.swift
│ │ │ │ ├── Scan.swift
│ │ │ │ ├── Sequence.swift
│ │ │ │ ├── ShareReplay1.swift
│ │ │ │ ├── ShareReplay1WhileConnected.swift
│ │ │ │ ├── SingleAsync.swift
│ │ │ │ ├── Sink.swift
│ │ │ │ ├── Skip.swift
│ │ │ │ ├── SkipUntil.swift
│ │ │ │ ├── SkipWhile.swift
│ │ │ │ ├── StartWith.swift
│ │ │ │ ├── SubscribeOn.swift
│ │ │ │ ├── Switch.swift
│ │ │ │ ├── Take.swift
│ │ │ │ ├── TakeLast.swift
│ │ │ │ ├── TakeUntil.swift
│ │ │ │ ├── TakeWhile.swift
│ │ │ │ ├── Throttle.swift
│ │ │ │ ├── Timeout.swift
│ │ │ │ ├── Timer.swift
│ │ │ │ ├── ToArray.swift
│ │ │ │ ├── Using.swift
│ │ │ │ ├── Window.swift
│ │ │ │ ├── WithLatestFrom.swift
│ │ │ │ ├── Zip+CollectionType.swift
│ │ │ │ ├── Zip+arity.swift
│ │ │ │ └── Zip.swift
│ │ │ ├── Observable+Aggregate.swift
│ │ │ ├── Observable+Binding.swift
│ │ │ ├── Observable+Concurrency.swift
│ │ │ ├── Observable+Creation.swift
│ │ │ ├── Observable+Debug.swift
│ │ │ ├── Observable+Multiple.swift
│ │ │ ├── Observable+Single.swift
│ │ │ ├── Observable+StandardSequenceOperators.swift
│ │ │ └── Observable+Time.swift
│ │ │ ├── ObserverType.swift
│ │ │ ├── Observers
│ │ │ ├── AnonymousObserver.swift
│ │ │ ├── ObserverBase.swift
│ │ │ └── TailRecursiveSink.swift
│ │ │ ├── Platform
│ │ │ ├── Platform.Darwin.swift
│ │ │ └── Platform.Linux.swift
│ │ │ ├── Rx.swift
│ │ │ ├── RxMutableBox.swift
│ │ │ ├── SchedulerType.swift
│ │ │ ├── Schedulers
│ │ │ ├── ConcurrentDispatchQueueScheduler.swift
│ │ │ ├── ConcurrentMainScheduler.swift
│ │ │ ├── CurrentThreadScheduler.swift
│ │ │ ├── DispatchQueueSchedulerQOS.swift
│ │ │ ├── HistoricalScheduler.swift
│ │ │ ├── HistoricalSchedulerTimeConverter.swift
│ │ │ ├── ImmediateScheduler.swift
│ │ │ ├── Internal
│ │ │ │ ├── AnonymousInvocable.swift
│ │ │ │ ├── InvocableScheduledItem.swift
│ │ │ │ ├── InvocableType.swift
│ │ │ │ ├── ScheduledItem.swift
│ │ │ │ └── ScheduledItemType.swift
│ │ │ ├── MainScheduler.swift
│ │ │ ├── OperationQueueScheduler.swift
│ │ │ ├── RecursiveScheduler.swift
│ │ │ ├── SchedulerServices+Emulation.swift
│ │ │ ├── SerialDispatchQueueScheduler.swift
│ │ │ ├── VirtualTimeConverterType.swift
│ │ │ └── VirtualTimeScheduler.swift
│ │ │ └── Subjects
│ │ │ ├── BehaviorSubject.swift
│ │ │ ├── PublishSubject.swift
│ │ │ ├── ReplaySubject.swift
│ │ │ ├── SubjectType.swift
│ │ │ └── Variable.swift
│ └── Target Support Files
│ │ ├── Action
│ │ ├── Action-dummy.m
│ │ ├── Action-prefix.pch
│ │ ├── Action-umbrella.h
│ │ ├── Action.modulemap
│ │ ├── Action.xcconfig
│ │ └── Info.plist
│ │ ├── Pods-RxClassroom
│ │ ├── Info.plist
│ │ ├── Pods-RxClassroom-acknowledgements.markdown
│ │ ├── Pods-RxClassroom-acknowledgements.plist
│ │ ├── Pods-RxClassroom-dummy.m
│ │ ├── Pods-RxClassroom-frameworks.sh
│ │ ├── Pods-RxClassroom-resources.sh
│ │ ├── Pods-RxClassroom-umbrella.h
│ │ ├── Pods-RxClassroom.debug.xcconfig
│ │ ├── Pods-RxClassroom.modulemap
│ │ └── Pods-RxClassroom.release.xcconfig
│ │ ├── RxCocoa
│ │ ├── Info.plist
│ │ ├── RxCocoa-dummy.m
│ │ ├── RxCocoa-prefix.pch
│ │ ├── RxCocoa-umbrella.h
│ │ ├── RxCocoa.modulemap
│ │ └── RxCocoa.xcconfig
│ │ └── RxSwift
│ │ ├── Info.plist
│ │ ├── RxSwift-dummy.m
│ │ ├── RxSwift-prefix.pch
│ │ ├── RxSwift-umbrella.h
│ │ ├── RxSwift.modulemap
│ │ └── RxSwift.xcconfig
├── RxClassroom.xcodeproj
│ ├── project.pbxproj
│ ├── project.xcworkspace
│ │ ├── contents.xcworkspacedata
│ │ └── xcuserdata
│ │ │ └── fpillet.xcuserdatad
│ │ │ ├── UserInterfaceState.xcuserstate
│ │ │ └── xcschemes
│ │ │ └── xcschememanagement.plist
│ ├── xcshareddata
│ │ └── xcschemes
│ │ │ └── RxClassroom.xcscheme
│ └── xcuserdata
│ │ └── fpillet.xcuserdatad
│ │ └── xcschemes
│ │ └── xcschememanagement.plist
├── RxClassroom.xcworkspace
│ ├── contents.xcworkspacedata
│ └── xcuserdata
│ │ └── fpillet.xcuserdatad
│ │ ├── UserInterfaceState.xcuserstate
│ │ ├── xcdebugger
│ │ └── Breakpoints_v2.xcbkptlist
│ │ └── xcschemes
│ │ └── xcschememanagement.plist
├── RxClassroom
│ ├── AppDelegate.swift
│ ├── Assets.xcassets
│ │ └── AppIcon.appiconset
│ │ │ └── Contents.json
│ ├── Base.lproj
│ │ ├── LaunchScreen.storyboard
│ │ └── Main.storyboard
│ ├── Info.plist
│ ├── MainViewController.swift
│ └── MainViewModel.swift
└── RxClassroomTests
│ ├── Info.plist
│ └── RxClassroomTests.swift
├── RxClassRoomStep5
├── .DS_Store
├── .idea
│ ├── RxClassroom.iml
│ ├── encodings.xml
│ ├── misc.xml
│ ├── modules.xml
│ ├── vcs.xml
│ ├── workspace.xml
│ └── xcode.xml
├── Podfile
├── Podfile.lock
├── Pods
│ ├── Action
│ │ ├── Action.swift
│ │ ├── AlertAction.swift
│ │ ├── License.md
│ │ ├── Readme.md
│ │ ├── UIBarButtonItem+Action.swift
│ │ └── UIButton+Rx.swift
│ ├── Manifest.lock
│ ├── Pods.xcodeproj
│ │ ├── project.pbxproj
│ │ └── xcuserdata
│ │ │ └── fpillet.xcuserdatad
│ │ │ └── xcschemes
│ │ │ ├── Action.xcscheme
│ │ │ ├── Pods-RxClassroom.xcscheme
│ │ │ ├── RxCocoa.xcscheme
│ │ │ ├── RxSwift.xcscheme
│ │ │ └── xcschememanagement.plist
│ ├── RxCocoa
│ │ ├── LICENSE.md
│ │ ├── README.md
│ │ └── RxCocoa
│ │ │ ├── Common
│ │ │ ├── CLLocationManager+Rx.swift
│ │ │ ├── CocoaUnits
│ │ │ │ ├── ControlEvent.swift
│ │ │ │ ├── ControlProperty.swift
│ │ │ │ ├── Driver
│ │ │ │ │ ├── ControlEvent+Driver.swift
│ │ │ │ │ ├── ControlProperty+Driver.swift
│ │ │ │ │ ├── Driver+Operators+arity.swift
│ │ │ │ │ ├── Driver+Operators.swift
│ │ │ │ │ ├── Driver+Subscription.swift
│ │ │ │ │ ├── Driver.swift
│ │ │ │ │ ├── ObservableConvertibleType+Driver.swift
│ │ │ │ │ └── Variable+Driver.swift
│ │ │ │ └── UIBindingObserver.swift
│ │ │ ├── DelegateProxy.swift
│ │ │ ├── DelegateProxyType.swift
│ │ │ ├── KVORepresentable+CoreGraphics.swift
│ │ │ ├── KVORepresentable+Swift.swift
│ │ │ ├── KVORepresentable.swift
│ │ │ ├── Logging.swift
│ │ │ ├── NSLayoutConstraint+Rx.swift
│ │ │ ├── Observable+Bind.swift
│ │ │ ├── Observables
│ │ │ │ ├── Implementations
│ │ │ │ │ ├── ControlTarget.swift
│ │ │ │ │ ├── DeallocObservable.swift
│ │ │ │ │ ├── KVOObservable.swift
│ │ │ │ │ ├── KVOObserver.swift
│ │ │ │ │ └── MessageSentObserver.swift
│ │ │ │ ├── NSNotificationCenter+Rx.swift
│ │ │ │ ├── NSObject+Rx+KVORepresentable.swift
│ │ │ │ ├── NSObject+Rx+RawRepresentable.swift
│ │ │ │ ├── NSObject+Rx.swift
│ │ │ │ └── NSURLSession+Rx.swift
│ │ │ ├── Proxies
│ │ │ │ └── RxCLLocationManagerDelegateProxy.swift
│ │ │ ├── Reactive.swift
│ │ │ ├── RxCocoa.swift
│ │ │ ├── RxTarget.swift
│ │ │ ├── RxTextInput.swift
│ │ │ ├── SectionedViewDataSourceType.swift
│ │ │ ├── _RX.h
│ │ │ ├── _RX.m
│ │ │ ├── _RXDelegateProxy.h
│ │ │ ├── _RXDelegateProxy.m
│ │ │ ├── _RXKVOObserver.h
│ │ │ ├── _RXKVOObserver.m
│ │ │ ├── _RXObjCRuntime.h
│ │ │ └── _RXObjCRuntime.m
│ │ │ ├── RxCocoa.h
│ │ │ └── iOS
│ │ │ ├── DataSources
│ │ │ ├── RxCollectionViewReactiveArrayDataSource.swift
│ │ │ └── RxTableViewReactiveArrayDataSource.swift
│ │ │ ├── Events
│ │ │ └── ItemEvents.swift
│ │ │ ├── NSTextStorage+Rx.swift
│ │ │ ├── Protocols
│ │ │ ├── RxCollectionViewDataSourceType.swift
│ │ │ └── RxTableViewDataSourceType.swift
│ │ │ ├── Proxies
│ │ │ ├── RxCollectionViewDataSourceProxy.swift
│ │ │ ├── RxCollectionViewDelegateProxy.swift
│ │ │ ├── RxImagePickerDelegateProxy.swift
│ │ │ ├── RxPickerViewDelegateProxy.swift
│ │ │ ├── RxScrollViewDelegateProxy.swift
│ │ │ ├── RxSearchBarDelegateProxy.swift
│ │ │ ├── RxSearchControllerDelegateProxy.swift
│ │ │ ├── RxTabBarDelegateProxy.swift
│ │ │ ├── RxTableViewDataSourceProxy.swift
│ │ │ ├── RxTableViewDelegateProxy.swift
│ │ │ ├── RxTextStorageDelegateProxy.swift
│ │ │ └── RxTextViewDelegateProxy.swift
│ │ │ ├── UIActivityIndicatorView+Rx.swift
│ │ │ ├── UIAlertAction+Rx.swift
│ │ │ ├── UIApplication+Rx.swift
│ │ │ ├── UIBarButtonItem+Rx.swift
│ │ │ ├── UIButton+Rx.swift
│ │ │ ├── UICollectionView+Rx.swift
│ │ │ ├── UIControl+Rx.swift
│ │ │ ├── UIDatePicker+Rx.swift
│ │ │ ├── UIGestureRecognizer+Rx.swift
│ │ │ ├── UIImagePickerController+Rx.swift
│ │ │ ├── UIImageView+Rx.swift
│ │ │ ├── UILabel+Rx.swift
│ │ │ ├── UINavigationItem+Rx.swift
│ │ │ ├── UIPageControl+Rx.swift
│ │ │ ├── UIPickerView+Rx.swift
│ │ │ ├── UIProgressView+Rx.swift
│ │ │ ├── UIRefreshControl+Rx.swift
│ │ │ ├── UIScrollView+Rx.swift
│ │ │ ├── UISearchBar+Rx.swift
│ │ │ ├── UISearchController+Rx.swift
│ │ │ ├── UISegmentedControl+Rx.swift
│ │ │ ├── UISlider+Rx.swift
│ │ │ ├── UIStepper+Rx.swift
│ │ │ ├── UISwitch+Rx.swift
│ │ │ ├── UITabBar+Rx.swift
│ │ │ ├── UITabBarItem+Rx.swift
│ │ │ ├── UITableView+Rx.swift
│ │ │ ├── UITextField+Rx.swift
│ │ │ ├── UITextView+Rx.swift
│ │ │ ├── UIView+Rx.swift
│ │ │ └── UIViewController+Rx.swift
│ ├── RxSwift
│ │ ├── LICENSE.md
│ │ ├── README.md
│ │ └── RxSwift
│ │ │ ├── AnyObserver.swift
│ │ │ ├── Cancelable.swift
│ │ │ ├── Concurrency
│ │ │ ├── AsyncLock.swift
│ │ │ ├── Lock.swift
│ │ │ ├── LockOwnerType.swift
│ │ │ ├── SynchronizedDisposeType.swift
│ │ │ ├── SynchronizedOnType.swift
│ │ │ ├── SynchronizedSubscribeType.swift
│ │ │ └── SynchronizedUnsubscribeType.swift
│ │ │ ├── ConnectableObservableType.swift
│ │ │ ├── DataStructures
│ │ │ ├── Bag.swift
│ │ │ ├── InfiniteSequence.swift
│ │ │ ├── PriorityQueue.swift
│ │ │ └── Queue.swift
│ │ │ ├── Disposable.swift
│ │ │ ├── Disposables
│ │ │ ├── AnonymousDisposable.swift
│ │ │ ├── BinaryDisposable.swift
│ │ │ ├── BooleanDisposable.swift
│ │ │ ├── CompositeDisposable.swift
│ │ │ ├── DisposeBag.swift
│ │ │ ├── DisposeBase.swift
│ │ │ ├── NAryDisposable.swift
│ │ │ ├── NopDisposable.swift
│ │ │ ├── RefCountDisposable.swift
│ │ │ ├── ScheduledDisposable.swift
│ │ │ ├── SerialDisposable.swift
│ │ │ ├── SingleAssignmentDisposable.swift
│ │ │ ├── StableCompositeDisposable.swift
│ │ │ └── SubscriptionDisposable.swift
│ │ │ ├── Errors.swift
│ │ │ ├── Event.swift
│ │ │ ├── Extensions
│ │ │ └── String+Rx.swift
│ │ │ ├── ImmediateSchedulerType.swift
│ │ │ ├── Observable+Extensions.swift
│ │ │ ├── Observable.swift
│ │ │ ├── ObservableConvertibleType.swift
│ │ │ ├── ObservableType.swift
│ │ │ ├── Observables
│ │ │ ├── Implementations
│ │ │ │ ├── AddRef.swift
│ │ │ │ ├── Amb.swift
│ │ │ │ ├── AnonymousObservable.swift
│ │ │ │ ├── Buffer.swift
│ │ │ │ ├── Catch.swift
│ │ │ │ ├── CombineLatest+CollectionType.swift
│ │ │ │ ├── CombineLatest+arity.swift
│ │ │ │ ├── CombineLatest.swift
│ │ │ │ ├── Concat.swift
│ │ │ │ ├── ConnectableObservable.swift
│ │ │ │ ├── Debug.swift
│ │ │ │ ├── Deferred.swift
│ │ │ │ ├── DelaySubscription.swift
│ │ │ │ ├── DistinctUntilChanged.swift
│ │ │ │ ├── Do.swift
│ │ │ │ ├── ElementAt.swift
│ │ │ │ ├── Empty.swift
│ │ │ │ ├── Error.swift
│ │ │ │ ├── Filter.swift
│ │ │ │ ├── Generate.swift
│ │ │ │ ├── Just.swift
│ │ │ │ ├── Map.swift
│ │ │ │ ├── Merge.swift
│ │ │ │ ├── Multicast.swift
│ │ │ │ ├── Never.swift
│ │ │ │ ├── ObserveOn.swift
│ │ │ │ ├── ObserveOnSerialDispatchQueue.swift
│ │ │ │ ├── Producer.swift
│ │ │ │ ├── Range.swift
│ │ │ │ ├── Reduce.swift
│ │ │ │ ├── RefCount.swift
│ │ │ │ ├── Repeat.swift
│ │ │ │ ├── RetryWhen.swift
│ │ │ │ ├── Sample.swift
│ │ │ │ ├── Scan.swift
│ │ │ │ ├── Sequence.swift
│ │ │ │ ├── ShareReplay1.swift
│ │ │ │ ├── ShareReplay1WhileConnected.swift
│ │ │ │ ├── SingleAsync.swift
│ │ │ │ ├── Sink.swift
│ │ │ │ ├── Skip.swift
│ │ │ │ ├── SkipUntil.swift
│ │ │ │ ├── SkipWhile.swift
│ │ │ │ ├── StartWith.swift
│ │ │ │ ├── SubscribeOn.swift
│ │ │ │ ├── Switch.swift
│ │ │ │ ├── Take.swift
│ │ │ │ ├── TakeLast.swift
│ │ │ │ ├── TakeUntil.swift
│ │ │ │ ├── TakeWhile.swift
│ │ │ │ ├── Throttle.swift
│ │ │ │ ├── Timeout.swift
│ │ │ │ ├── Timer.swift
│ │ │ │ ├── ToArray.swift
│ │ │ │ ├── Using.swift
│ │ │ │ ├── Window.swift
│ │ │ │ ├── WithLatestFrom.swift
│ │ │ │ ├── Zip+CollectionType.swift
│ │ │ │ ├── Zip+arity.swift
│ │ │ │ └── Zip.swift
│ │ │ ├── Observable+Aggregate.swift
│ │ │ ├── Observable+Binding.swift
│ │ │ ├── Observable+Concurrency.swift
│ │ │ ├── Observable+Creation.swift
│ │ │ ├── Observable+Debug.swift
│ │ │ ├── Observable+Multiple.swift
│ │ │ ├── Observable+Single.swift
│ │ │ ├── Observable+StandardSequenceOperators.swift
│ │ │ └── Observable+Time.swift
│ │ │ ├── ObserverType.swift
│ │ │ ├── Observers
│ │ │ ├── AnonymousObserver.swift
│ │ │ ├── ObserverBase.swift
│ │ │ └── TailRecursiveSink.swift
│ │ │ ├── Platform
│ │ │ ├── Platform.Darwin.swift
│ │ │ └── Platform.Linux.swift
│ │ │ ├── Rx.swift
│ │ │ ├── RxMutableBox.swift
│ │ │ ├── SchedulerType.swift
│ │ │ ├── Schedulers
│ │ │ ├── ConcurrentDispatchQueueScheduler.swift
│ │ │ ├── ConcurrentMainScheduler.swift
│ │ │ ├── CurrentThreadScheduler.swift
│ │ │ ├── DispatchQueueSchedulerQOS.swift
│ │ │ ├── HistoricalScheduler.swift
│ │ │ ├── HistoricalSchedulerTimeConverter.swift
│ │ │ ├── ImmediateScheduler.swift
│ │ │ ├── Internal
│ │ │ │ ├── AnonymousInvocable.swift
│ │ │ │ ├── InvocableScheduledItem.swift
│ │ │ │ ├── InvocableType.swift
│ │ │ │ ├── ScheduledItem.swift
│ │ │ │ └── ScheduledItemType.swift
│ │ │ ├── MainScheduler.swift
│ │ │ ├── OperationQueueScheduler.swift
│ │ │ ├── RecursiveScheduler.swift
│ │ │ ├── SchedulerServices+Emulation.swift
│ │ │ ├── SerialDispatchQueueScheduler.swift
│ │ │ ├── VirtualTimeConverterType.swift
│ │ │ └── VirtualTimeScheduler.swift
│ │ │ └── Subjects
│ │ │ ├── BehaviorSubject.swift
│ │ │ ├── PublishSubject.swift
│ │ │ ├── ReplaySubject.swift
│ │ │ ├── SubjectType.swift
│ │ │ └── Variable.swift
│ └── Target Support Files
│ │ ├── Action
│ │ ├── Action-dummy.m
│ │ ├── Action-prefix.pch
│ │ ├── Action-umbrella.h
│ │ ├── Action.modulemap
│ │ ├── Action.xcconfig
│ │ └── Info.plist
│ │ ├── Pods-RxClassroom
│ │ ├── Info.plist
│ │ ├── Pods-RxClassroom-acknowledgements.markdown
│ │ ├── Pods-RxClassroom-acknowledgements.plist
│ │ ├── Pods-RxClassroom-dummy.m
│ │ ├── Pods-RxClassroom-frameworks.sh
│ │ ├── Pods-RxClassroom-resources.sh
│ │ ├── Pods-RxClassroom-umbrella.h
│ │ ├── Pods-RxClassroom.debug.xcconfig
│ │ ├── Pods-RxClassroom.modulemap
│ │ └── Pods-RxClassroom.release.xcconfig
│ │ ├── RxCocoa
│ │ ├── Info.plist
│ │ ├── RxCocoa-dummy.m
│ │ ├── RxCocoa-prefix.pch
│ │ ├── RxCocoa-umbrella.h
│ │ ├── RxCocoa.modulemap
│ │ └── RxCocoa.xcconfig
│ │ └── RxSwift
│ │ ├── Info.plist
│ │ ├── RxSwift-dummy.m
│ │ ├── RxSwift-prefix.pch
│ │ ├── RxSwift-umbrella.h
│ │ ├── RxSwift.modulemap
│ │ └── RxSwift.xcconfig
├── RxClassroom.xcodeproj
│ ├── project.pbxproj
│ ├── project.xcworkspace
│ │ ├── contents.xcworkspacedata
│ │ └── xcuserdata
│ │ │ └── fpillet.xcuserdatad
│ │ │ ├── UserInterfaceState.xcuserstate
│ │ │ └── xcschemes
│ │ │ └── xcschememanagement.plist
│ ├── xcshareddata
│ │ └── xcschemes
│ │ │ └── RxClassroom.xcscheme
│ └── xcuserdata
│ │ └── fpillet.xcuserdatad
│ │ └── xcschemes
│ │ └── xcschememanagement.plist
├── RxClassroom.xcworkspace
│ ├── contents.xcworkspacedata
│ └── xcuserdata
│ │ └── fpillet.xcuserdatad
│ │ ├── UserInterfaceState.xcuserstate
│ │ ├── xcdebugger
│ │ └── Breakpoints_v2.xcbkptlist
│ │ └── xcschemes
│ │ └── xcschememanagement.plist
├── RxClassroom
│ ├── AppDelegate.swift
│ ├── Assets.xcassets
│ │ └── AppIcon.appiconset
│ │ │ └── Contents.json
│ ├── Base.lproj
│ │ ├── LaunchScreen.storyboard
│ │ └── Main.storyboard
│ ├── Info.plist
│ ├── MainViewController.swift
│ ├── MainViewModel.swift
│ ├── MockWeatherService.swift
│ ├── Weather.swift
│ └── WeatherServiceType.swift
└── RxClassroomTests
│ ├── Info.plist
│ └── RxClassroomTests.swift
├── RxClassRoomStep6
├── .DS_Store
├── .idea
│ ├── RxClassroom.iml
│ ├── encodings.xml
│ ├── misc.xml
│ ├── modules.xml
│ ├── vcs.xml
│ ├── workspace.xml
│ └── xcode.xml
├── Podfile
├── Podfile.lock
├── Pods
│ ├── Action
│ │ ├── Action.swift
│ │ ├── AlertAction.swift
│ │ ├── License.md
│ │ ├── Readme.md
│ │ ├── UIBarButtonItem+Action.swift
│ │ └── UIButton+Rx.swift
│ ├── Manifest.lock
│ ├── Pods.xcodeproj
│ │ ├── project.pbxproj
│ │ └── xcuserdata
│ │ │ └── fpillet.xcuserdatad
│ │ │ └── xcschemes
│ │ │ ├── Action.xcscheme
│ │ │ ├── Pods-RxClassroom.xcscheme
│ │ │ ├── RxCocoa.xcscheme
│ │ │ ├── RxSwift.xcscheme
│ │ │ └── xcschememanagement.plist
│ ├── RxCocoa
│ │ ├── LICENSE.md
│ │ ├── README.md
│ │ └── RxCocoa
│ │ │ ├── Common
│ │ │ ├── CLLocationManager+Rx.swift
│ │ │ ├── CocoaUnits
│ │ │ │ ├── ControlEvent.swift
│ │ │ │ ├── ControlProperty.swift
│ │ │ │ ├── Driver
│ │ │ │ │ ├── ControlEvent+Driver.swift
│ │ │ │ │ ├── ControlProperty+Driver.swift
│ │ │ │ │ ├── Driver+Operators+arity.swift
│ │ │ │ │ ├── Driver+Operators.swift
│ │ │ │ │ ├── Driver+Subscription.swift
│ │ │ │ │ ├── Driver.swift
│ │ │ │ │ ├── ObservableConvertibleType+Driver.swift
│ │ │ │ │ └── Variable+Driver.swift
│ │ │ │ └── UIBindingObserver.swift
│ │ │ ├── DelegateProxy.swift
│ │ │ ├── DelegateProxyType.swift
│ │ │ ├── KVORepresentable+CoreGraphics.swift
│ │ │ ├── KVORepresentable+Swift.swift
│ │ │ ├── KVORepresentable.swift
│ │ │ ├── Logging.swift
│ │ │ ├── NSLayoutConstraint+Rx.swift
│ │ │ ├── Observable+Bind.swift
│ │ │ ├── Observables
│ │ │ │ ├── Implementations
│ │ │ │ │ ├── ControlTarget.swift
│ │ │ │ │ ├── DeallocObservable.swift
│ │ │ │ │ ├── KVOObservable.swift
│ │ │ │ │ ├── KVOObserver.swift
│ │ │ │ │ └── MessageSentObserver.swift
│ │ │ │ ├── NSNotificationCenter+Rx.swift
│ │ │ │ ├── NSObject+Rx+KVORepresentable.swift
│ │ │ │ ├── NSObject+Rx+RawRepresentable.swift
│ │ │ │ ├── NSObject+Rx.swift
│ │ │ │ └── NSURLSession+Rx.swift
│ │ │ ├── Proxies
│ │ │ │ └── RxCLLocationManagerDelegateProxy.swift
│ │ │ ├── Reactive.swift
│ │ │ ├── RxCocoa.swift
│ │ │ ├── RxTarget.swift
│ │ │ ├── RxTextInput.swift
│ │ │ ├── SectionedViewDataSourceType.swift
│ │ │ ├── _RX.h
│ │ │ ├── _RX.m
│ │ │ ├── _RXDelegateProxy.h
│ │ │ ├── _RXDelegateProxy.m
│ │ │ ├── _RXKVOObserver.h
│ │ │ ├── _RXKVOObserver.m
│ │ │ ├── _RXObjCRuntime.h
│ │ │ └── _RXObjCRuntime.m
│ │ │ ├── RxCocoa.h
│ │ │ └── iOS
│ │ │ ├── DataSources
│ │ │ ├── RxCollectionViewReactiveArrayDataSource.swift
│ │ │ └── RxTableViewReactiveArrayDataSource.swift
│ │ │ ├── Events
│ │ │ └── ItemEvents.swift
│ │ │ ├── NSTextStorage+Rx.swift
│ │ │ ├── Protocols
│ │ │ ├── RxCollectionViewDataSourceType.swift
│ │ │ └── RxTableViewDataSourceType.swift
│ │ │ ├── Proxies
│ │ │ ├── RxCollectionViewDataSourceProxy.swift
│ │ │ ├── RxCollectionViewDelegateProxy.swift
│ │ │ ├── RxImagePickerDelegateProxy.swift
│ │ │ ├── RxPickerViewDelegateProxy.swift
│ │ │ ├── RxScrollViewDelegateProxy.swift
│ │ │ ├── RxSearchBarDelegateProxy.swift
│ │ │ ├── RxSearchControllerDelegateProxy.swift
│ │ │ ├── RxTabBarDelegateProxy.swift
│ │ │ ├── RxTableViewDataSourceProxy.swift
│ │ │ ├── RxTableViewDelegateProxy.swift
│ │ │ ├── RxTextStorageDelegateProxy.swift
│ │ │ └── RxTextViewDelegateProxy.swift
│ │ │ ├── UIActivityIndicatorView+Rx.swift
│ │ │ ├── UIAlertAction+Rx.swift
│ │ │ ├── UIApplication+Rx.swift
│ │ │ ├── UIBarButtonItem+Rx.swift
│ │ │ ├── UIButton+Rx.swift
│ │ │ ├── UICollectionView+Rx.swift
│ │ │ ├── UIControl+Rx.swift
│ │ │ ├── UIDatePicker+Rx.swift
│ │ │ ├── UIGestureRecognizer+Rx.swift
│ │ │ ├── UIImagePickerController+Rx.swift
│ │ │ ├── UIImageView+Rx.swift
│ │ │ ├── UILabel+Rx.swift
│ │ │ ├── UINavigationItem+Rx.swift
│ │ │ ├── UIPageControl+Rx.swift
│ │ │ ├── UIPickerView+Rx.swift
│ │ │ ├── UIProgressView+Rx.swift
│ │ │ ├── UIRefreshControl+Rx.swift
│ │ │ ├── UIScrollView+Rx.swift
│ │ │ ├── UISearchBar+Rx.swift
│ │ │ ├── UISearchController+Rx.swift
│ │ │ ├── UISegmentedControl+Rx.swift
│ │ │ ├── UISlider+Rx.swift
│ │ │ ├── UIStepper+Rx.swift
│ │ │ ├── UISwitch+Rx.swift
│ │ │ ├── UITabBar+Rx.swift
│ │ │ ├── UITabBarItem+Rx.swift
│ │ │ ├── UITableView+Rx.swift
│ │ │ ├── UITextField+Rx.swift
│ │ │ ├── UITextView+Rx.swift
│ │ │ ├── UIView+Rx.swift
│ │ │ └── UIViewController+Rx.swift
│ ├── RxSwift
│ │ ├── LICENSE.md
│ │ ├── README.md
│ │ └── RxSwift
│ │ │ ├── AnyObserver.swift
│ │ │ ├── Cancelable.swift
│ │ │ ├── Concurrency
│ │ │ ├── AsyncLock.swift
│ │ │ ├── Lock.swift
│ │ │ ├── LockOwnerType.swift
│ │ │ ├── SynchronizedDisposeType.swift
│ │ │ ├── SynchronizedOnType.swift
│ │ │ ├── SynchronizedSubscribeType.swift
│ │ │ └── SynchronizedUnsubscribeType.swift
│ │ │ ├── ConnectableObservableType.swift
│ │ │ ├── DataStructures
│ │ │ ├── Bag.swift
│ │ │ ├── InfiniteSequence.swift
│ │ │ ├── PriorityQueue.swift
│ │ │ └── Queue.swift
│ │ │ ├── Disposable.swift
│ │ │ ├── Disposables
│ │ │ ├── AnonymousDisposable.swift
│ │ │ ├── BinaryDisposable.swift
│ │ │ ├── BooleanDisposable.swift
│ │ │ ├── CompositeDisposable.swift
│ │ │ ├── DisposeBag.swift
│ │ │ ├── DisposeBase.swift
│ │ │ ├── NAryDisposable.swift
│ │ │ ├── NopDisposable.swift
│ │ │ ├── RefCountDisposable.swift
│ │ │ ├── ScheduledDisposable.swift
│ │ │ ├── SerialDisposable.swift
│ │ │ ├── SingleAssignmentDisposable.swift
│ │ │ ├── StableCompositeDisposable.swift
│ │ │ └── SubscriptionDisposable.swift
│ │ │ ├── Errors.swift
│ │ │ ├── Event.swift
│ │ │ ├── Extensions
│ │ │ └── String+Rx.swift
│ │ │ ├── ImmediateSchedulerType.swift
│ │ │ ├── Observable+Extensions.swift
│ │ │ ├── Observable.swift
│ │ │ ├── ObservableConvertibleType.swift
│ │ │ ├── ObservableType.swift
│ │ │ ├── Observables
│ │ │ ├── Implementations
│ │ │ │ ├── AddRef.swift
│ │ │ │ ├── Amb.swift
│ │ │ │ ├── AnonymousObservable.swift
│ │ │ │ ├── Buffer.swift
│ │ │ │ ├── Catch.swift
│ │ │ │ ├── CombineLatest+CollectionType.swift
│ │ │ │ ├── CombineLatest+arity.swift
│ │ │ │ ├── CombineLatest.swift
│ │ │ │ ├── Concat.swift
│ │ │ │ ├── ConnectableObservable.swift
│ │ │ │ ├── Debug.swift
│ │ │ │ ├── Deferred.swift
│ │ │ │ ├── DelaySubscription.swift
│ │ │ │ ├── DistinctUntilChanged.swift
│ │ │ │ ├── Do.swift
│ │ │ │ ├── ElementAt.swift
│ │ │ │ ├── Empty.swift
│ │ │ │ ├── Error.swift
│ │ │ │ ├── Filter.swift
│ │ │ │ ├── Generate.swift
│ │ │ │ ├── Just.swift
│ │ │ │ ├── Map.swift
│ │ │ │ ├── Merge.swift
│ │ │ │ ├── Multicast.swift
│ │ │ │ ├── Never.swift
│ │ │ │ ├── ObserveOn.swift
│ │ │ │ ├── ObserveOnSerialDispatchQueue.swift
│ │ │ │ ├── Producer.swift
│ │ │ │ ├── Range.swift
│ │ │ │ ├── Reduce.swift
│ │ │ │ ├── RefCount.swift
│ │ │ │ ├── Repeat.swift
│ │ │ │ ├── RetryWhen.swift
│ │ │ │ ├── Sample.swift
│ │ │ │ ├── Scan.swift
│ │ │ │ ├── Sequence.swift
│ │ │ │ ├── ShareReplay1.swift
│ │ │ │ ├── ShareReplay1WhileConnected.swift
│ │ │ │ ├── SingleAsync.swift
│ │ │ │ ├── Sink.swift
│ │ │ │ ├── Skip.swift
│ │ │ │ ├── SkipUntil.swift
│ │ │ │ ├── SkipWhile.swift
│ │ │ │ ├── StartWith.swift
│ │ │ │ ├── SubscribeOn.swift
│ │ │ │ ├── Switch.swift
│ │ │ │ ├── Take.swift
│ │ │ │ ├── TakeLast.swift
│ │ │ │ ├── TakeUntil.swift
│ │ │ │ ├── TakeWhile.swift
│ │ │ │ ├── Throttle.swift
│ │ │ │ ├── Timeout.swift
│ │ │ │ ├── Timer.swift
│ │ │ │ ├── ToArray.swift
│ │ │ │ ├── Using.swift
│ │ │ │ ├── Window.swift
│ │ │ │ ├── WithLatestFrom.swift
│ │ │ │ ├── Zip+CollectionType.swift
│ │ │ │ ├── Zip+arity.swift
│ │ │ │ └── Zip.swift
│ │ │ ├── Observable+Aggregate.swift
│ │ │ ├── Observable+Binding.swift
│ │ │ ├── Observable+Concurrency.swift
│ │ │ ├── Observable+Creation.swift
│ │ │ ├── Observable+Debug.swift
│ │ │ ├── Observable+Multiple.swift
│ │ │ ├── Observable+Single.swift
│ │ │ ├── Observable+StandardSequenceOperators.swift
│ │ │ └── Observable+Time.swift
│ │ │ ├── ObserverType.swift
│ │ │ ├── Observers
│ │ │ ├── AnonymousObserver.swift
│ │ │ ├── ObserverBase.swift
│ │ │ └── TailRecursiveSink.swift
│ │ │ ├── Platform
│ │ │ ├── Platform.Darwin.swift
│ │ │ └── Platform.Linux.swift
│ │ │ ├── Rx.swift
│ │ │ ├── RxMutableBox.swift
│ │ │ ├── SchedulerType.swift
│ │ │ ├── Schedulers
│ │ │ ├── ConcurrentDispatchQueueScheduler.swift
│ │ │ ├── ConcurrentMainScheduler.swift
│ │ │ ├── CurrentThreadScheduler.swift
│ │ │ ├── DispatchQueueSchedulerQOS.swift
│ │ │ ├── HistoricalScheduler.swift
│ │ │ ├── HistoricalSchedulerTimeConverter.swift
│ │ │ ├── ImmediateScheduler.swift
│ │ │ ├── Internal
│ │ │ │ ├── AnonymousInvocable.swift
│ │ │ │ ├── InvocableScheduledItem.swift
│ │ │ │ ├── InvocableType.swift
│ │ │ │ ├── ScheduledItem.swift
│ │ │ │ └── ScheduledItemType.swift
│ │ │ ├── MainScheduler.swift
│ │ │ ├── OperationQueueScheduler.swift
│ │ │ ├── RecursiveScheduler.swift
│ │ │ ├── SchedulerServices+Emulation.swift
│ │ │ ├── SerialDispatchQueueScheduler.swift
│ │ │ ├── VirtualTimeConverterType.swift
│ │ │ └── VirtualTimeScheduler.swift
│ │ │ └── Subjects
│ │ │ ├── BehaviorSubject.swift
│ │ │ ├── PublishSubject.swift
│ │ │ ├── ReplaySubject.swift
│ │ │ ├── SubjectType.swift
│ │ │ └── Variable.swift
│ └── Target Support Files
│ │ ├── Action
│ │ ├── Action-dummy.m
│ │ ├── Action-prefix.pch
│ │ ├── Action-umbrella.h
│ │ ├── Action.modulemap
│ │ ├── Action.xcconfig
│ │ └── Info.plist
│ │ ├── Pods-RxClassroom
│ │ ├── Info.plist
│ │ ├── Pods-RxClassroom-acknowledgements.markdown
│ │ ├── Pods-RxClassroom-acknowledgements.plist
│ │ ├── Pods-RxClassroom-dummy.m
│ │ ├── Pods-RxClassroom-frameworks.sh
│ │ ├── Pods-RxClassroom-resources.sh
│ │ ├── Pods-RxClassroom-umbrella.h
│ │ ├── Pods-RxClassroom.debug.xcconfig
│ │ ├── Pods-RxClassroom.modulemap
│ │ └── Pods-RxClassroom.release.xcconfig
│ │ ├── RxCocoa
│ │ ├── Info.plist
│ │ ├── RxCocoa-dummy.m
│ │ ├── RxCocoa-prefix.pch
│ │ ├── RxCocoa-umbrella.h
│ │ ├── RxCocoa.modulemap
│ │ └── RxCocoa.xcconfig
│ │ └── RxSwift
│ │ ├── Info.plist
│ │ ├── RxSwift-dummy.m
│ │ ├── RxSwift-prefix.pch
│ │ ├── RxSwift-umbrella.h
│ │ ├── RxSwift.modulemap
│ │ └── RxSwift.xcconfig
├── RxClassroom.xcodeproj
│ ├── project.pbxproj
│ ├── project.xcworkspace
│ │ ├── contents.xcworkspacedata
│ │ └── xcuserdata
│ │ │ └── fpillet.xcuserdatad
│ │ │ ├── UserInterfaceState.xcuserstate
│ │ │ └── xcschemes
│ │ │ └── xcschememanagement.plist
│ ├── xcshareddata
│ │ └── xcschemes
│ │ │ └── RxClassroom.xcscheme
│ └── xcuserdata
│ │ └── fpillet.xcuserdatad
│ │ └── xcschemes
│ │ └── xcschememanagement.plist
├── RxClassroom.xcworkspace
│ ├── contents.xcworkspacedata
│ └── xcuserdata
│ │ └── fpillet.xcuserdatad
│ │ ├── UserInterfaceState.xcuserstate
│ │ ├── xcdebugger
│ │ └── Breakpoints_v2.xcbkptlist
│ │ └── xcschemes
│ │ └── xcschememanagement.plist
├── RxClassroom
│ ├── AppDelegate.swift
│ ├── Assets.xcassets
│ │ └── AppIcon.appiconset
│ │ │ └── Contents.json
│ ├── Base.lproj
│ │ ├── LaunchScreen.storyboard
│ │ └── Main.storyboard
│ ├── Info.plist
│ ├── MainViewController.swift
│ ├── MainViewModel.swift
│ ├── MockWeatherService.swift
│ ├── Weather.swift
│ └── WeatherServiceType.swift
└── RxClassroomTests
│ ├── Info.plist
│ └── RxClassroomTests.swift
├── RxClassRoomStep7
├── .DS_Store
├── .idea
│ ├── RxClassroom.iml
│ ├── encodings.xml
│ ├── misc.xml
│ ├── modules.xml
│ ├── vcs.xml
│ ├── workspace.xml
│ └── xcode.xml
├── Podfile
├── Podfile.lock
├── Pods
│ ├── Action
│ │ ├── Action.swift
│ │ ├── AlertAction.swift
│ │ ├── License.md
│ │ ├── Readme.md
│ │ ├── UIBarButtonItem+Action.swift
│ │ └── UIButton+Rx.swift
│ ├── Manifest.lock
│ ├── Pods.xcodeproj
│ │ ├── project.pbxproj
│ │ └── xcuserdata
│ │ │ └── fpillet.xcuserdatad
│ │ │ └── xcschemes
│ │ │ ├── Action.xcscheme
│ │ │ ├── Pods-RxClassroom.xcscheme
│ │ │ ├── RxCocoa.xcscheme
│ │ │ ├── RxSwift.xcscheme
│ │ │ └── xcschememanagement.plist
│ ├── RxCocoa
│ │ ├── LICENSE.md
│ │ ├── README.md
│ │ └── RxCocoa
│ │ │ ├── Common
│ │ │ ├── CLLocationManager+Rx.swift
│ │ │ ├── CocoaUnits
│ │ │ │ ├── ControlEvent.swift
│ │ │ │ ├── ControlProperty.swift
│ │ │ │ ├── Driver
│ │ │ │ │ ├── ControlEvent+Driver.swift
│ │ │ │ │ ├── ControlProperty+Driver.swift
│ │ │ │ │ ├── Driver+Operators+arity.swift
│ │ │ │ │ ├── Driver+Operators.swift
│ │ │ │ │ ├── Driver+Subscription.swift
│ │ │ │ │ ├── Driver.swift
│ │ │ │ │ ├── ObservableConvertibleType+Driver.swift
│ │ │ │ │ └── Variable+Driver.swift
│ │ │ │ └── UIBindingObserver.swift
│ │ │ ├── DelegateProxy.swift
│ │ │ ├── DelegateProxyType.swift
│ │ │ ├── KVORepresentable+CoreGraphics.swift
│ │ │ ├── KVORepresentable+Swift.swift
│ │ │ ├── KVORepresentable.swift
│ │ │ ├── Logging.swift
│ │ │ ├── NSLayoutConstraint+Rx.swift
│ │ │ ├── Observable+Bind.swift
│ │ │ ├── Observables
│ │ │ │ ├── Implementations
│ │ │ │ │ ├── ControlTarget.swift
│ │ │ │ │ ├── DeallocObservable.swift
│ │ │ │ │ ├── KVOObservable.swift
│ │ │ │ │ ├── KVOObserver.swift
│ │ │ │ │ └── MessageSentObserver.swift
│ │ │ │ ├── NSNotificationCenter+Rx.swift
│ │ │ │ ├── NSObject+Rx+KVORepresentable.swift
│ │ │ │ ├── NSObject+Rx+RawRepresentable.swift
│ │ │ │ ├── NSObject+Rx.swift
│ │ │ │ └── NSURLSession+Rx.swift
│ │ │ ├── Proxies
│ │ │ │ └── RxCLLocationManagerDelegateProxy.swift
│ │ │ ├── Reactive.swift
│ │ │ ├── RxCocoa.swift
│ │ │ ├── RxTarget.swift
│ │ │ ├── RxTextInput.swift
│ │ │ ├── SectionedViewDataSourceType.swift
│ │ │ ├── _RX.h
│ │ │ ├── _RX.m
│ │ │ ├── _RXDelegateProxy.h
│ │ │ ├── _RXDelegateProxy.m
│ │ │ ├── _RXKVOObserver.h
│ │ │ ├── _RXKVOObserver.m
│ │ │ ├── _RXObjCRuntime.h
│ │ │ └── _RXObjCRuntime.m
│ │ │ ├── RxCocoa.h
│ │ │ └── iOS
│ │ │ ├── DataSources
│ │ │ ├── RxCollectionViewReactiveArrayDataSource.swift
│ │ │ └── RxTableViewReactiveArrayDataSource.swift
│ │ │ ├── Events
│ │ │ └── ItemEvents.swift
│ │ │ ├── NSTextStorage+Rx.swift
│ │ │ ├── Protocols
│ │ │ ├── RxCollectionViewDataSourceType.swift
│ │ │ └── RxTableViewDataSourceType.swift
│ │ │ ├── Proxies
│ │ │ ├── RxCollectionViewDataSourceProxy.swift
│ │ │ ├── RxCollectionViewDelegateProxy.swift
│ │ │ ├── RxImagePickerDelegateProxy.swift
│ │ │ ├── RxPickerViewDelegateProxy.swift
│ │ │ ├── RxScrollViewDelegateProxy.swift
│ │ │ ├── RxSearchBarDelegateProxy.swift
│ │ │ ├── RxSearchControllerDelegateProxy.swift
│ │ │ ├── RxTabBarDelegateProxy.swift
│ │ │ ├── RxTableViewDataSourceProxy.swift
│ │ │ ├── RxTableViewDelegateProxy.swift
│ │ │ ├── RxTextStorageDelegateProxy.swift
│ │ │ └── RxTextViewDelegateProxy.swift
│ │ │ ├── UIActivityIndicatorView+Rx.swift
│ │ │ ├── UIAlertAction+Rx.swift
│ │ │ ├── UIApplication+Rx.swift
│ │ │ ├── UIBarButtonItem+Rx.swift
│ │ │ ├── UIButton+Rx.swift
│ │ │ ├── UICollectionView+Rx.swift
│ │ │ ├── UIControl+Rx.swift
│ │ │ ├── UIDatePicker+Rx.swift
│ │ │ ├── UIGestureRecognizer+Rx.swift
│ │ │ ├── UIImagePickerController+Rx.swift
│ │ │ ├── UIImageView+Rx.swift
│ │ │ ├── UILabel+Rx.swift
│ │ │ ├── UINavigationItem+Rx.swift
│ │ │ ├── UIPageControl+Rx.swift
│ │ │ ├── UIPickerView+Rx.swift
│ │ │ ├── UIProgressView+Rx.swift
│ │ │ ├── UIRefreshControl+Rx.swift
│ │ │ ├── UIScrollView+Rx.swift
│ │ │ ├── UISearchBar+Rx.swift
│ │ │ ├── UISearchController+Rx.swift
│ │ │ ├── UISegmentedControl+Rx.swift
│ │ │ ├── UISlider+Rx.swift
│ │ │ ├── UIStepper+Rx.swift
│ │ │ ├── UISwitch+Rx.swift
│ │ │ ├── UITabBar+Rx.swift
│ │ │ ├── UITabBarItem+Rx.swift
│ │ │ ├── UITableView+Rx.swift
│ │ │ ├── UITextField+Rx.swift
│ │ │ ├── UITextView+Rx.swift
│ │ │ ├── UIView+Rx.swift
│ │ │ └── UIViewController+Rx.swift
│ ├── RxSwift
│ │ ├── LICENSE.md
│ │ ├── README.md
│ │ └── RxSwift
│ │ │ ├── AnyObserver.swift
│ │ │ ├── Cancelable.swift
│ │ │ ├── Concurrency
│ │ │ ├── AsyncLock.swift
│ │ │ ├── Lock.swift
│ │ │ ├── LockOwnerType.swift
│ │ │ ├── SynchronizedDisposeType.swift
│ │ │ ├── SynchronizedOnType.swift
│ │ │ ├── SynchronizedSubscribeType.swift
│ │ │ └── SynchronizedUnsubscribeType.swift
│ │ │ ├── ConnectableObservableType.swift
│ │ │ ├── DataStructures
│ │ │ ├── Bag.swift
│ │ │ ├── InfiniteSequence.swift
│ │ │ ├── PriorityQueue.swift
│ │ │ └── Queue.swift
│ │ │ ├── Disposable.swift
│ │ │ ├── Disposables
│ │ │ ├── AnonymousDisposable.swift
│ │ │ ├── BinaryDisposable.swift
│ │ │ ├── BooleanDisposable.swift
│ │ │ ├── CompositeDisposable.swift
│ │ │ ├── DisposeBag.swift
│ │ │ ├── DisposeBase.swift
│ │ │ ├── NAryDisposable.swift
│ │ │ ├── NopDisposable.swift
│ │ │ ├── RefCountDisposable.swift
│ │ │ ├── ScheduledDisposable.swift
│ │ │ ├── SerialDisposable.swift
│ │ │ ├── SingleAssignmentDisposable.swift
│ │ │ ├── StableCompositeDisposable.swift
│ │ │ └── SubscriptionDisposable.swift
│ │ │ ├── Errors.swift
│ │ │ ├── Event.swift
│ │ │ ├── Extensions
│ │ │ └── String+Rx.swift
│ │ │ ├── ImmediateSchedulerType.swift
│ │ │ ├── Observable+Extensions.swift
│ │ │ ├── Observable.swift
│ │ │ ├── ObservableConvertibleType.swift
│ │ │ ├── ObservableType.swift
│ │ │ ├── Observables
│ │ │ ├── Implementations
│ │ │ │ ├── AddRef.swift
│ │ │ │ ├── Amb.swift
│ │ │ │ ├── AnonymousObservable.swift
│ │ │ │ ├── Buffer.swift
│ │ │ │ ├── Catch.swift
│ │ │ │ ├── CombineLatest+CollectionType.swift
│ │ │ │ ├── CombineLatest+arity.swift
│ │ │ │ ├── CombineLatest.swift
│ │ │ │ ├── Concat.swift
│ │ │ │ ├── ConnectableObservable.swift
│ │ │ │ ├── Debug.swift
│ │ │ │ ├── Deferred.swift
│ │ │ │ ├── DelaySubscription.swift
│ │ │ │ ├── DistinctUntilChanged.swift
│ │ │ │ ├── Do.swift
│ │ │ │ ├── ElementAt.swift
│ │ │ │ ├── Empty.swift
│ │ │ │ ├── Error.swift
│ │ │ │ ├── Filter.swift
│ │ │ │ ├── Generate.swift
│ │ │ │ ├── Just.swift
│ │ │ │ ├── Map.swift
│ │ │ │ ├── Merge.swift
│ │ │ │ ├── Multicast.swift
│ │ │ │ ├── Never.swift
│ │ │ │ ├── ObserveOn.swift
│ │ │ │ ├── ObserveOnSerialDispatchQueue.swift
│ │ │ │ ├── Producer.swift
│ │ │ │ ├── Range.swift
│ │ │ │ ├── Reduce.swift
│ │ │ │ ├── RefCount.swift
│ │ │ │ ├── Repeat.swift
│ │ │ │ ├── RetryWhen.swift
│ │ │ │ ├── Sample.swift
│ │ │ │ ├── Scan.swift
│ │ │ │ ├── Sequence.swift
│ │ │ │ ├── ShareReplay1.swift
│ │ │ │ ├── ShareReplay1WhileConnected.swift
│ │ │ │ ├── SingleAsync.swift
│ │ │ │ ├── Sink.swift
│ │ │ │ ├── Skip.swift
│ │ │ │ ├── SkipUntil.swift
│ │ │ │ ├── SkipWhile.swift
│ │ │ │ ├── StartWith.swift
│ │ │ │ ├── SubscribeOn.swift
│ │ │ │ ├── Switch.swift
│ │ │ │ ├── Take.swift
│ │ │ │ ├── TakeLast.swift
│ │ │ │ ├── TakeUntil.swift
│ │ │ │ ├── TakeWhile.swift
│ │ │ │ ├── Throttle.swift
│ │ │ │ ├── Timeout.swift
│ │ │ │ ├── Timer.swift
│ │ │ │ ├── ToArray.swift
│ │ │ │ ├── Using.swift
│ │ │ │ ├── Window.swift
│ │ │ │ ├── WithLatestFrom.swift
│ │ │ │ ├── Zip+CollectionType.swift
│ │ │ │ ├── Zip+arity.swift
│ │ │ │ └── Zip.swift
│ │ │ ├── Observable+Aggregate.swift
│ │ │ ├── Observable+Binding.swift
│ │ │ ├── Observable+Concurrency.swift
│ │ │ ├── Observable+Creation.swift
│ │ │ ├── Observable+Debug.swift
│ │ │ ├── Observable+Multiple.swift
│ │ │ ├── Observable+Single.swift
│ │ │ ├── Observable+StandardSequenceOperators.swift
│ │ │ └── Observable+Time.swift
│ │ │ ├── ObserverType.swift
│ │ │ ├── Observers
│ │ │ ├── AnonymousObserver.swift
│ │ │ ├── ObserverBase.swift
│ │ │ └── TailRecursiveSink.swift
│ │ │ ├── Platform
│ │ │ ├── Platform.Darwin.swift
│ │ │ └── Platform.Linux.swift
│ │ │ ├── Rx.swift
│ │ │ ├── RxMutableBox.swift
│ │ │ ├── SchedulerType.swift
│ │ │ ├── Schedulers
│ │ │ ├── ConcurrentDispatchQueueScheduler.swift
│ │ │ ├── ConcurrentMainScheduler.swift
│ │ │ ├── CurrentThreadScheduler.swift
│ │ │ ├── DispatchQueueSchedulerQOS.swift
│ │ │ ├── HistoricalScheduler.swift
│ │ │ ├── HistoricalSchedulerTimeConverter.swift
│ │ │ ├── ImmediateScheduler.swift
│ │ │ ├── Internal
│ │ │ │ ├── AnonymousInvocable.swift
│ │ │ │ ├── InvocableScheduledItem.swift
│ │ │ │ ├── InvocableType.swift
│ │ │ │ ├── ScheduledItem.swift
│ │ │ │ └── ScheduledItemType.swift
│ │ │ ├── MainScheduler.swift
│ │ │ ├── OperationQueueScheduler.swift
│ │ │ ├── RecursiveScheduler.swift
│ │ │ ├── SchedulerServices+Emulation.swift
│ │ │ ├── SerialDispatchQueueScheduler.swift
│ │ │ ├── VirtualTimeConverterType.swift
│ │ │ └── VirtualTimeScheduler.swift
│ │ │ └── Subjects
│ │ │ ├── BehaviorSubject.swift
│ │ │ ├── PublishSubject.swift
│ │ │ ├── ReplaySubject.swift
│ │ │ ├── SubjectType.swift
│ │ │ └── Variable.swift
│ └── Target Support Files
│ │ ├── Action
│ │ ├── Action-dummy.m
│ │ ├── Action-prefix.pch
│ │ ├── Action-umbrella.h
│ │ ├── Action.modulemap
│ │ ├── Action.xcconfig
│ │ └── Info.plist
│ │ ├── Pods-RxClassroom
│ │ ├── Info.plist
│ │ ├── Pods-RxClassroom-acknowledgements.markdown
│ │ ├── Pods-RxClassroom-acknowledgements.plist
│ │ ├── Pods-RxClassroom-dummy.m
│ │ ├── Pods-RxClassroom-frameworks.sh
│ │ ├── Pods-RxClassroom-resources.sh
│ │ ├── Pods-RxClassroom-umbrella.h
│ │ ├── Pods-RxClassroom.debug.xcconfig
│ │ ├── Pods-RxClassroom.modulemap
│ │ └── Pods-RxClassroom.release.xcconfig
│ │ ├── RxCocoa
│ │ ├── Info.plist
│ │ ├── RxCocoa-dummy.m
│ │ ├── RxCocoa-prefix.pch
│ │ ├── RxCocoa-umbrella.h
│ │ ├── RxCocoa.modulemap
│ │ └── RxCocoa.xcconfig
│ │ └── RxSwift
│ │ ├── Info.plist
│ │ ├── RxSwift-dummy.m
│ │ ├── RxSwift-prefix.pch
│ │ ├── RxSwift-umbrella.h
│ │ ├── RxSwift.modulemap
│ │ └── RxSwift.xcconfig
├── RxClassroom.xcodeproj
│ ├── project.pbxproj
│ ├── project.xcworkspace
│ │ ├── contents.xcworkspacedata
│ │ └── xcuserdata
│ │ │ └── fpillet.xcuserdatad
│ │ │ ├── UserInterfaceState.xcuserstate
│ │ │ └── xcschemes
│ │ │ └── xcschememanagement.plist
│ ├── xcshareddata
│ │ └── xcschemes
│ │ │ └── RxClassroom.xcscheme
│ └── xcuserdata
│ │ └── fpillet.xcuserdatad
│ │ └── xcschemes
│ │ └── xcschememanagement.plist
├── RxClassroom.xcworkspace
│ ├── contents.xcworkspacedata
│ └── xcuserdata
│ │ └── fpillet.xcuserdatad
│ │ ├── UserInterfaceState.xcuserstate
│ │ ├── xcdebugger
│ │ └── Breakpoints_v2.xcbkptlist
│ │ └── xcschemes
│ │ └── xcschememanagement.plist
├── RxClassroom
│ ├── AppDelegate.swift
│ ├── Assets.xcassets
│ │ └── AppIcon.appiconset
│ │ │ └── Contents.json
│ ├── Base.lproj
│ │ ├── LaunchScreen.storyboard
│ │ └── Main.storyboard
│ ├── ForecastCell.swift
│ ├── Info.plist
│ ├── MainViewController.swift
│ ├── MainViewModel.swift
│ ├── MockWeatherService.swift
│ ├── Weather.swift
│ └── WeatherServiceType.swift
└── RxClassroomTests
│ ├── Info.plist
│ └── RxClassroomTests.swift
├── RxClassRoomStep8
├── .DS_Store
├── .idea
│ ├── RxClassroom.iml
│ ├── encodings.xml
│ ├── misc.xml
│ ├── modules.xml
│ ├── vcs.xml
│ ├── workspace.xml
│ └── xcode.xml
├── Podfile
├── Podfile.lock
├── Pods
│ ├── Action
│ │ ├── Action.swift
│ │ ├── AlertAction.swift
│ │ ├── License.md
│ │ ├── Readme.md
│ │ ├── UIBarButtonItem+Action.swift
│ │ └── UIButton+Rx.swift
│ ├── Manifest.lock
│ ├── Pods.xcodeproj
│ │ ├── project.pbxproj
│ │ └── xcuserdata
│ │ │ └── fpillet.xcuserdatad
│ │ │ └── xcschemes
│ │ │ ├── Action.xcscheme
│ │ │ ├── Pods-RxClassroom.xcscheme
│ │ │ ├── RxCocoa.xcscheme
│ │ │ ├── RxSwift.xcscheme
│ │ │ └── xcschememanagement.plist
│ ├── RxCocoa
│ │ ├── LICENSE.md
│ │ ├── README.md
│ │ └── RxCocoa
│ │ │ ├── Common
│ │ │ ├── CLLocationManager+Rx.swift
│ │ │ ├── CocoaUnits
│ │ │ │ ├── ControlEvent.swift
│ │ │ │ ├── ControlProperty.swift
│ │ │ │ ├── Driver
│ │ │ │ │ ├── ControlEvent+Driver.swift
│ │ │ │ │ ├── ControlProperty+Driver.swift
│ │ │ │ │ ├── Driver+Operators+arity.swift
│ │ │ │ │ ├── Driver+Operators.swift
│ │ │ │ │ ├── Driver+Subscription.swift
│ │ │ │ │ ├── Driver.swift
│ │ │ │ │ ├── ObservableConvertibleType+Driver.swift
│ │ │ │ │ └── Variable+Driver.swift
│ │ │ │ └── UIBindingObserver.swift
│ │ │ ├── DelegateProxy.swift
│ │ │ ├── DelegateProxyType.swift
│ │ │ ├── KVORepresentable+CoreGraphics.swift
│ │ │ ├── KVORepresentable+Swift.swift
│ │ │ ├── KVORepresentable.swift
│ │ │ ├── Logging.swift
│ │ │ ├── NSLayoutConstraint+Rx.swift
│ │ │ ├── Observable+Bind.swift
│ │ │ ├── Observables
│ │ │ │ ├── Implementations
│ │ │ │ │ ├── ControlTarget.swift
│ │ │ │ │ ├── DeallocObservable.swift
│ │ │ │ │ ├── KVOObservable.swift
│ │ │ │ │ ├── KVOObserver.swift
│ │ │ │ │ └── MessageSentObserver.swift
│ │ │ │ ├── NSNotificationCenter+Rx.swift
│ │ │ │ ├── NSObject+Rx+KVORepresentable.swift
│ │ │ │ ├── NSObject+Rx+RawRepresentable.swift
│ │ │ │ ├── NSObject+Rx.swift
│ │ │ │ └── NSURLSession+Rx.swift
│ │ │ ├── Proxies
│ │ │ │ └── RxCLLocationManagerDelegateProxy.swift
│ │ │ ├── Reactive.swift
│ │ │ ├── RxCocoa.swift
│ │ │ ├── RxTarget.swift
│ │ │ ├── RxTextInput.swift
│ │ │ ├── SectionedViewDataSourceType.swift
│ │ │ ├── _RX.h
│ │ │ ├── _RX.m
│ │ │ ├── _RXDelegateProxy.h
│ │ │ ├── _RXDelegateProxy.m
│ │ │ ├── _RXKVOObserver.h
│ │ │ ├── _RXKVOObserver.m
│ │ │ ├── _RXObjCRuntime.h
│ │ │ └── _RXObjCRuntime.m
│ │ │ ├── RxCocoa.h
│ │ │ └── iOS
│ │ │ ├── DataSources
│ │ │ ├── RxCollectionViewReactiveArrayDataSource.swift
│ │ │ └── RxTableViewReactiveArrayDataSource.swift
│ │ │ ├── Events
│ │ │ └── ItemEvents.swift
│ │ │ ├── NSTextStorage+Rx.swift
│ │ │ ├── Protocols
│ │ │ ├── RxCollectionViewDataSourceType.swift
│ │ │ └── RxTableViewDataSourceType.swift
│ │ │ ├── Proxies
│ │ │ ├── RxCollectionViewDataSourceProxy.swift
│ │ │ ├── RxCollectionViewDelegateProxy.swift
│ │ │ ├── RxImagePickerDelegateProxy.swift
│ │ │ ├── RxPickerViewDelegateProxy.swift
│ │ │ ├── RxScrollViewDelegateProxy.swift
│ │ │ ├── RxSearchBarDelegateProxy.swift
│ │ │ ├── RxSearchControllerDelegateProxy.swift
│ │ │ ├── RxTabBarDelegateProxy.swift
│ │ │ ├── RxTableViewDataSourceProxy.swift
│ │ │ ├── RxTableViewDelegateProxy.swift
│ │ │ ├── RxTextStorageDelegateProxy.swift
│ │ │ └── RxTextViewDelegateProxy.swift
│ │ │ ├── UIActivityIndicatorView+Rx.swift
│ │ │ ├── UIAlertAction+Rx.swift
│ │ │ ├── UIApplication+Rx.swift
│ │ │ ├── UIBarButtonItem+Rx.swift
│ │ │ ├── UIButton+Rx.swift
│ │ │ ├── UICollectionView+Rx.swift
│ │ │ ├── UIControl+Rx.swift
│ │ │ ├── UIDatePicker+Rx.swift
│ │ │ ├── UIGestureRecognizer+Rx.swift
│ │ │ ├── UIImagePickerController+Rx.swift
│ │ │ ├── UIImageView+Rx.swift
│ │ │ ├── UILabel+Rx.swift
│ │ │ ├── UINavigationItem+Rx.swift
│ │ │ ├── UIPageControl+Rx.swift
│ │ │ ├── UIPickerView+Rx.swift
│ │ │ ├── UIProgressView+Rx.swift
│ │ │ ├── UIRefreshControl+Rx.swift
│ │ │ ├── UIScrollView+Rx.swift
│ │ │ ├── UISearchBar+Rx.swift
│ │ │ ├── UISearchController+Rx.swift
│ │ │ ├── UISegmentedControl+Rx.swift
│ │ │ ├── UISlider+Rx.swift
│ │ │ ├── UIStepper+Rx.swift
│ │ │ ├── UISwitch+Rx.swift
│ │ │ ├── UITabBar+Rx.swift
│ │ │ ├── UITabBarItem+Rx.swift
│ │ │ ├── UITableView+Rx.swift
│ │ │ ├── UITextField+Rx.swift
│ │ │ ├── UITextView+Rx.swift
│ │ │ ├── UIView+Rx.swift
│ │ │ └── UIViewController+Rx.swift
│ ├── RxSwift
│ │ ├── LICENSE.md
│ │ ├── README.md
│ │ └── RxSwift
│ │ │ ├── AnyObserver.swift
│ │ │ ├── Cancelable.swift
│ │ │ ├── Concurrency
│ │ │ ├── AsyncLock.swift
│ │ │ ├── Lock.swift
│ │ │ ├── LockOwnerType.swift
│ │ │ ├── SynchronizedDisposeType.swift
│ │ │ ├── SynchronizedOnType.swift
│ │ │ ├── SynchronizedSubscribeType.swift
│ │ │ └── SynchronizedUnsubscribeType.swift
│ │ │ ├── ConnectableObservableType.swift
│ │ │ ├── DataStructures
│ │ │ ├── Bag.swift
│ │ │ ├── InfiniteSequence.swift
│ │ │ ├── PriorityQueue.swift
│ │ │ └── Queue.swift
│ │ │ ├── Disposable.swift
│ │ │ ├── Disposables
│ │ │ ├── AnonymousDisposable.swift
│ │ │ ├── BinaryDisposable.swift
│ │ │ ├── BooleanDisposable.swift
│ │ │ ├── CompositeDisposable.swift
│ │ │ ├── DisposeBag.swift
│ │ │ ├── DisposeBase.swift
│ │ │ ├── NAryDisposable.swift
│ │ │ ├── NopDisposable.swift
│ │ │ ├── RefCountDisposable.swift
│ │ │ ├── ScheduledDisposable.swift
│ │ │ ├── SerialDisposable.swift
│ │ │ ├── SingleAssignmentDisposable.swift
│ │ │ ├── StableCompositeDisposable.swift
│ │ │ └── SubscriptionDisposable.swift
│ │ │ ├── Errors.swift
│ │ │ ├── Event.swift
│ │ │ ├── Extensions
│ │ │ └── String+Rx.swift
│ │ │ ├── ImmediateSchedulerType.swift
│ │ │ ├── Observable+Extensions.swift
│ │ │ ├── Observable.swift
│ │ │ ├── ObservableConvertibleType.swift
│ │ │ ├── ObservableType.swift
│ │ │ ├── Observables
│ │ │ ├── Implementations
│ │ │ │ ├── AddRef.swift
│ │ │ │ ├── Amb.swift
│ │ │ │ ├── AnonymousObservable.swift
│ │ │ │ ├── Buffer.swift
│ │ │ │ ├── Catch.swift
│ │ │ │ ├── CombineLatest+CollectionType.swift
│ │ │ │ ├── CombineLatest+arity.swift
│ │ │ │ ├── CombineLatest.swift
│ │ │ │ ├── Concat.swift
│ │ │ │ ├── ConnectableObservable.swift
│ │ │ │ ├── Debug.swift
│ │ │ │ ├── Deferred.swift
│ │ │ │ ├── DelaySubscription.swift
│ │ │ │ ├── DistinctUntilChanged.swift
│ │ │ │ ├── Do.swift
│ │ │ │ ├── ElementAt.swift
│ │ │ │ ├── Empty.swift
│ │ │ │ ├── Error.swift
│ │ │ │ ├── Filter.swift
│ │ │ │ ├── Generate.swift
│ │ │ │ ├── Just.swift
│ │ │ │ ├── Map.swift
│ │ │ │ ├── Merge.swift
│ │ │ │ ├── Multicast.swift
│ │ │ │ ├── Never.swift
│ │ │ │ ├── ObserveOn.swift
│ │ │ │ ├── ObserveOnSerialDispatchQueue.swift
│ │ │ │ ├── Producer.swift
│ │ │ │ ├── Range.swift
│ │ │ │ ├── Reduce.swift
│ │ │ │ ├── RefCount.swift
│ │ │ │ ├── Repeat.swift
│ │ │ │ ├── RetryWhen.swift
│ │ │ │ ├── Sample.swift
│ │ │ │ ├── Scan.swift
│ │ │ │ ├── Sequence.swift
│ │ │ │ ├── ShareReplay1.swift
│ │ │ │ ├── ShareReplay1WhileConnected.swift
│ │ │ │ ├── SingleAsync.swift
│ │ │ │ ├── Sink.swift
│ │ │ │ ├── Skip.swift
│ │ │ │ ├── SkipUntil.swift
│ │ │ │ ├── SkipWhile.swift
│ │ │ │ ├── StartWith.swift
│ │ │ │ ├── SubscribeOn.swift
│ │ │ │ ├── Switch.swift
│ │ │ │ ├── Take.swift
│ │ │ │ ├── TakeLast.swift
│ │ │ │ ├── TakeUntil.swift
│ │ │ │ ├── TakeWhile.swift
│ │ │ │ ├── Throttle.swift
│ │ │ │ ├── Timeout.swift
│ │ │ │ ├── Timer.swift
│ │ │ │ ├── ToArray.swift
│ │ │ │ ├── Using.swift
│ │ │ │ ├── Window.swift
│ │ │ │ ├── WithLatestFrom.swift
│ │ │ │ ├── Zip+CollectionType.swift
│ │ │ │ ├── Zip+arity.swift
│ │ │ │ └── Zip.swift
│ │ │ ├── Observable+Aggregate.swift
│ │ │ ├── Observable+Binding.swift
│ │ │ ├── Observable+Concurrency.swift
│ │ │ ├── Observable+Creation.swift
│ │ │ ├── Observable+Debug.swift
│ │ │ ├── Observable+Multiple.swift
│ │ │ ├── Observable+Single.swift
│ │ │ ├── Observable+StandardSequenceOperators.swift
│ │ │ └── Observable+Time.swift
│ │ │ ├── ObserverType.swift
│ │ │ ├── Observers
│ │ │ ├── AnonymousObserver.swift
│ │ │ ├── ObserverBase.swift
│ │ │ └── TailRecursiveSink.swift
│ │ │ ├── Platform
│ │ │ ├── Platform.Darwin.swift
│ │ │ └── Platform.Linux.swift
│ │ │ ├── Rx.swift
│ │ │ ├── RxMutableBox.swift
│ │ │ ├── SchedulerType.swift
│ │ │ ├── Schedulers
│ │ │ ├── ConcurrentDispatchQueueScheduler.swift
│ │ │ ├── ConcurrentMainScheduler.swift
│ │ │ ├── CurrentThreadScheduler.swift
│ │ │ ├── DispatchQueueSchedulerQOS.swift
│ │ │ ├── HistoricalScheduler.swift
│ │ │ ├── HistoricalSchedulerTimeConverter.swift
│ │ │ ├── ImmediateScheduler.swift
│ │ │ ├── Internal
│ │ │ │ ├── AnonymousInvocable.swift
│ │ │ │ ├── InvocableScheduledItem.swift
│ │ │ │ ├── InvocableType.swift
│ │ │ │ ├── ScheduledItem.swift
│ │ │ │ └── ScheduledItemType.swift
│ │ │ ├── MainScheduler.swift
│ │ │ ├── OperationQueueScheduler.swift
│ │ │ ├── RecursiveScheduler.swift
│ │ │ ├── SchedulerServices+Emulation.swift
│ │ │ ├── SerialDispatchQueueScheduler.swift
│ │ │ ├── VirtualTimeConverterType.swift
│ │ │ └── VirtualTimeScheduler.swift
│ │ │ └── Subjects
│ │ │ ├── BehaviorSubject.swift
│ │ │ ├── PublishSubject.swift
│ │ │ ├── ReplaySubject.swift
│ │ │ ├── SubjectType.swift
│ │ │ └── Variable.swift
│ └── Target Support Files
│ │ ├── Action
│ │ ├── Action-dummy.m
│ │ ├── Action-prefix.pch
│ │ ├── Action-umbrella.h
│ │ ├── Action.modulemap
│ │ ├── Action.xcconfig
│ │ └── Info.plist
│ │ ├── Pods-RxClassroom
│ │ ├── Info.plist
│ │ ├── Pods-RxClassroom-acknowledgements.markdown
│ │ ├── Pods-RxClassroom-acknowledgements.plist
│ │ ├── Pods-RxClassroom-dummy.m
│ │ ├── Pods-RxClassroom-frameworks.sh
│ │ ├── Pods-RxClassroom-resources.sh
│ │ ├── Pods-RxClassroom-umbrella.h
│ │ ├── Pods-RxClassroom.debug.xcconfig
│ │ ├── Pods-RxClassroom.modulemap
│ │ └── Pods-RxClassroom.release.xcconfig
│ │ ├── RxCocoa
│ │ ├── Info.plist
│ │ ├── RxCocoa-dummy.m
│ │ ├── RxCocoa-prefix.pch
│ │ ├── RxCocoa-umbrella.h
│ │ ├── RxCocoa.modulemap
│ │ └── RxCocoa.xcconfig
│ │ └── RxSwift
│ │ ├── Info.plist
│ │ ├── RxSwift-dummy.m
│ │ ├── RxSwift-prefix.pch
│ │ ├── RxSwift-umbrella.h
│ │ ├── RxSwift.modulemap
│ │ └── RxSwift.xcconfig
├── RxClassroom.xcodeproj
│ ├── project.pbxproj
│ ├── project.xcworkspace
│ │ ├── contents.xcworkspacedata
│ │ └── xcuserdata
│ │ │ └── fpillet.xcuserdatad
│ │ │ ├── UserInterfaceState.xcuserstate
│ │ │ └── xcschemes
│ │ │ └── xcschememanagement.plist
│ ├── xcshareddata
│ │ └── xcschemes
│ │ │ └── RxClassroom.xcscheme
│ └── xcuserdata
│ │ └── fpillet.xcuserdatad
│ │ └── xcschemes
│ │ └── xcschememanagement.plist
├── RxClassroom.xcworkspace
│ ├── contents.xcworkspacedata
│ └── xcuserdata
│ │ └── fpillet.xcuserdatad
│ │ ├── UserInterfaceState.xcuserstate
│ │ ├── xcdebugger
│ │ └── Breakpoints_v2.xcbkptlist
│ │ └── xcschemes
│ │ └── xcschememanagement.plist
├── RxClassroom
│ ├── AppDelegate.swift
│ ├── Assets.xcassets
│ │ └── AppIcon.appiconset
│ │ │ └── Contents.json
│ ├── Base.lproj
│ │ ├── LaunchScreen.storyboard
│ │ └── Main.storyboard
│ ├── ForecastCell.swift
│ ├── Info.plist
│ ├── MainViewController.swift
│ ├── MainViewModel.swift
│ ├── MockWeatherService.swift
│ ├── Weather.swift
│ ├── WeatherService.swift
│ └── WeatherServiceType.swift
└── RxClassroomTests
│ ├── Info.plist
│ └── RxClassroomTests.swift
└── WorkPlan.txt
/RxClassRoomStep1/.idea/encodings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/RxClassRoomStep1/.idea/misc.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/RxClassRoomStep1/.idea/modules.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/RxClassRoomStep1/.idea/vcs.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/RxClassRoomStep1/.idea/xcode.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/RxClassRoomStep1/Podfile:
--------------------------------------------------------------------------------
1 | use_frameworks!
2 |
3 | target :RxClassroom do
4 | pod 'RxSwift'
5 | pod 'RxCocoa'
6 | pod 'Action'
7 | end
8 |
--------------------------------------------------------------------------------
/RxClassRoomStep1/Podfile.lock:
--------------------------------------------------------------------------------
1 | PODS:
2 | - Action (1.3.0):
3 | - RxCocoa (~> 2.6)
4 | - RxSwift (~> 2.6)
5 | - RxCocoa (2.6.0):
6 | - RxSwift (~> 2.5)
7 | - RxSwift (2.6.0)
8 |
9 | DEPENDENCIES:
10 | - Action
11 | - RxCocoa
12 | - RxSwift
13 |
14 | SPEC CHECKSUMS:
15 | Action: 09c900c05bfef2f422374dc97790429bddbd1bbc
16 | RxCocoa: 89ab00d5753502520227940e3a0e0a0413683c6b
17 | RxSwift: 77f3a0b15324baa7a1c9bfa9f199648a82424e26
18 |
19 | PODFILE CHECKSUM: 9a6b803cc55a7ac1457558f1794ed497be7611e8
20 |
21 | COCOAPODS: 1.0.1
22 |
--------------------------------------------------------------------------------
/RxClassRoomStep1/Pods/Manifest.lock:
--------------------------------------------------------------------------------
1 | PODS:
2 | - Action (1.3.0):
3 | - RxCocoa (~> 2.6)
4 | - RxSwift (~> 2.6)
5 | - RxCocoa (2.6.0):
6 | - RxSwift (~> 2.5)
7 | - RxSwift (2.6.0)
8 |
9 | DEPENDENCIES:
10 | - Action
11 | - RxCocoa
12 | - RxSwift
13 |
14 | SPEC CHECKSUMS:
15 | Action: 09c900c05bfef2f422374dc97790429bddbd1bbc
16 | RxCocoa: 89ab00d5753502520227940e3a0e0a0413683c6b
17 | RxSwift: 77f3a0b15324baa7a1c9bfa9f199648a82424e26
18 |
19 | PODFILE CHECKSUM: 9a6b803cc55a7ac1457558f1794ed497be7611e8
20 |
21 | COCOAPODS: 1.0.1
22 |
--------------------------------------------------------------------------------
/RxClassRoomStep1/Pods/RxCocoa/RxCocoa/Common/Observables/Implementations/DeallocObservable.swift:
--------------------------------------------------------------------------------
1 | //
2 | // DeallocObservable.swift
3 | // Rx
4 | //
5 | // Created by Krunoslav Zaher on 12/19/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 | #if !RX_NO_MODULE
11 | import RxSwift
12 | #endif
13 |
14 | class DeallocObservable {
15 | let _subject = ReplaySubject.create(bufferSize: 1)
16 |
17 | init() {
18 | }
19 |
20 | deinit {
21 | _subject.on(.Next(()))
22 | _subject.on(.Completed)
23 | }
24 | }
25 |
--------------------------------------------------------------------------------
/RxClassRoomStep1/Pods/RxCocoa/RxCocoa/Common/_RX.m:
--------------------------------------------------------------------------------
1 | //
2 | // _RX.m
3 | // RxCocoa
4 | //
5 | // Created by Krunoslav Zaher on 7/12/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | #import "_RX.h"
10 |
11 |
--------------------------------------------------------------------------------
/RxClassRoomStep1/Pods/RxCocoa/RxCocoa/Common/_RXDelegateProxy.h:
--------------------------------------------------------------------------------
1 | //
2 | // _RXDelegateProxy.h
3 | // RxCocoa
4 | //
5 | // Created by Krunoslav Zaher on 7/4/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | @interface _RXDelegateProxy : NSObject
12 |
13 | @property (nonatomic, weak, readonly) id _forwardToDelegate;
14 |
15 | -(void)_setForwardToDelegate:(id)forwardToDelegate retainDelegate:(BOOL)retainDelegate;
16 |
17 | -(BOOL)hasWiredImplementationForSelector:(SEL)selector;
18 |
19 | -(void)interceptedSelector:(SEL)selector withArguments:(NSArray*)arguments;
20 |
21 | @end
22 |
--------------------------------------------------------------------------------
/RxClassRoomStep1/Pods/RxCocoa/RxCocoa/RxCocoa.h:
--------------------------------------------------------------------------------
1 | //
2 | // RxCocoa.h
3 | // RxCocoa
4 | //
5 | // Created by Krunoslav Zaher on 2/21/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | #import
10 | #import "_RX.h"
11 | #import "_RXDelegateProxy.h"
12 | #import "_RXKVOObserver.h"
13 | #import "_RXObjCRuntime.h"
14 |
15 | //! Project version number for RxCocoa.
16 | FOUNDATION_EXPORT double RxCocoaVersionNumber;
17 |
18 | //! Project version string for RxCocoa.
19 | FOUNDATION_EXPORT const unsigned char RxCocoaVersionString[];
--------------------------------------------------------------------------------
/RxClassRoomStep1/Pods/RxCocoa/RxCocoa/iOS/Events/ItemEvents.swift:
--------------------------------------------------------------------------------
1 | //
2 | // ItemEvents.swift
3 | // RxCocoa
4 | //
5 | // Created by Krunoslav Zaher on 6/20/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 | import UIKit
11 |
12 | #if os(iOS) || os(tvOS)
13 | public typealias ItemMovedEvent = (sourceIndex: NSIndexPath, destinationIndex: NSIndexPath)
14 | public typealias WillDisplayCellEvent = (cell: UITableViewCell, indexPath: NSIndexPath)
15 | public typealias DidEndDisplayingCellEvent = (cell: UITableViewCell, indexPath: NSIndexPath)
16 | #endif
--------------------------------------------------------------------------------
/RxClassRoomStep1/Pods/RxSwift/RxSwift/Cancelable.swift:
--------------------------------------------------------------------------------
1 | //
2 | // Cancelable.swift
3 | // Rx
4 | //
5 | // Created by Krunoslav Zaher on 3/12/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | /**
12 | Represents disposable resource with state tracking.
13 | */
14 | public protocol Cancelable : Disposable {
15 | /**
16 | - returns: Was resource disposed.
17 | */
18 | var disposed: Bool { get }
19 | }
--------------------------------------------------------------------------------
/RxClassRoomStep1/Pods/RxSwift/RxSwift/Concurrency/LockOwnerType.swift:
--------------------------------------------------------------------------------
1 | //
2 | // LockOwnerType.swift
3 | // Rx
4 | //
5 | // Created by Krunoslav Zaher on 10/25/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | protocol LockOwnerType : class, Lock {
12 | var _lock: NSRecursiveLock { get }
13 | }
14 |
15 | extension LockOwnerType {
16 | func lock() {
17 | _lock.lock()
18 | }
19 |
20 | func unlock() {
21 | _lock.unlock()
22 | }
23 | }
--------------------------------------------------------------------------------
/RxClassRoomStep1/Pods/RxSwift/RxSwift/Concurrency/SynchronizedDisposeType.swift:
--------------------------------------------------------------------------------
1 | //
2 | // SynchronizedDisposeType.swift
3 | // Rx
4 | //
5 | // Created by Krunoslav Zaher on 10/25/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | protocol SynchronizedDisposeType : class, Disposable, Lock {
12 | func _synchronized_dispose()
13 | }
14 |
15 | extension SynchronizedDisposeType {
16 | func synchronizedDispose() {
17 | lock(); defer { unlock() }
18 | _synchronized_dispose()
19 | }
20 | }
--------------------------------------------------------------------------------
/RxClassRoomStep1/Pods/RxSwift/RxSwift/Concurrency/SynchronizedOnType.swift:
--------------------------------------------------------------------------------
1 | //
2 | // SynchronizedOnType.swift
3 | // Rx
4 | //
5 | // Created by Krunoslav Zaher on 10/25/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | protocol SynchronizedOnType : class, ObserverType, Lock {
12 | func _synchronized_on(event: Event)
13 | }
14 |
15 | extension SynchronizedOnType {
16 | func synchronizedOn(event: Event) {
17 | lock(); defer { unlock() }
18 | _synchronized_on(event)
19 | }
20 | }
--------------------------------------------------------------------------------
/RxClassRoomStep1/Pods/RxSwift/RxSwift/Concurrency/SynchronizedUnsubscribeType.swift:
--------------------------------------------------------------------------------
1 | //
2 | // SynchronizedUnsubscribeType.swift
3 | // Rx
4 | //
5 | // Created by Krunoslav Zaher on 10/25/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | protocol SynchronizedUnsubscribeType : class {
12 | associatedtype DisposeKey
13 |
14 | func synchronizedUnsubscribe(disposeKey: DisposeKey)
15 | }
--------------------------------------------------------------------------------
/RxClassRoomStep1/Pods/RxSwift/RxSwift/Disposable.swift:
--------------------------------------------------------------------------------
1 | //
2 | // Disposable.swift
3 | // Rx
4 | //
5 | // Created by Krunoslav Zaher on 2/8/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | /// Respresents a disposable resource.
12 | public protocol Disposable {
13 | /// Dispose resource.
14 | func dispose()
15 | }
--------------------------------------------------------------------------------
/RxClassRoomStep1/Pods/RxSwift/RxSwift/Disposables/DisposeBase.swift:
--------------------------------------------------------------------------------
1 | //
2 | // DisposeBase.swift
3 | // Rx
4 | //
5 | // Created by Krunoslav Zaher on 4/4/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | /**
12 | Base class for all disposables.
13 | */
14 | public class DisposeBase {
15 | init() {
16 | #if TRACE_RESOURCES
17 | AtomicIncrement(&resourceCount)
18 | #endif
19 | }
20 |
21 | deinit {
22 | #if TRACE_RESOURCES
23 | AtomicDecrement(&resourceCount)
24 | #endif
25 | }
26 | }
--------------------------------------------------------------------------------
/RxClassRoomStep1/Pods/RxSwift/RxSwift/Disposables/NAryDisposable.swift:
--------------------------------------------------------------------------------
1 | // This file is autogenerated. Take a look at `Preprocessor` target in RxSwift project
2 | //
3 | // NAryDisposable.swift
4 | // RxSwift
5 | //
6 | // Created by Krunoslav Zaher on 8/20/15.
7 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
8 | //
9 |
10 | import Foundation
11 |
--------------------------------------------------------------------------------
/RxClassRoomStep1/Pods/RxSwift/RxSwift/Disposables/StableCompositeDisposable.swift:
--------------------------------------------------------------------------------
1 | //
2 | // StableCompositeDisposable.swift
3 | // RxSwift
4 | //
5 | // Created by Krunoslav Zaher on 6/12/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | public final class StableCompositeDisposable {
12 | public static func create(disposable1: Disposable, _ disposable2: Disposable) -> Disposable {
13 | return BinaryDisposable(disposable1, disposable2)
14 | }
15 | }
--------------------------------------------------------------------------------
/RxClassRoomStep1/Pods/RxSwift/RxSwift/Disposables/SubscriptionDisposable.swift:
--------------------------------------------------------------------------------
1 | //
2 | // SubscriptionDisposable.swift
3 | // Rx
4 | //
5 | // Created by Krunoslav Zaher on 10/25/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | struct SubscriptionDisposable : Disposable {
12 | private let _key: T.DisposeKey
13 | private weak var _owner: T?
14 |
15 | init(owner: T, key: T.DisposeKey) {
16 | _owner = owner
17 | _key = key
18 | }
19 |
20 | func dispose() {
21 | _owner?.synchronizedUnsubscribe(_key)
22 | }
23 | }
--------------------------------------------------------------------------------
/RxClassRoomStep1/Pods/RxSwift/RxSwift/Observables/Implementations/Empty.swift:
--------------------------------------------------------------------------------
1 | //
2 | // Empty.swift
3 | // Rx
4 | //
5 | // Created by Krunoslav Zaher on 8/30/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | class Empty : Producer {
12 | override func subscribe(observer: O) -> Disposable {
13 | observer.on(.Completed)
14 | return NopDisposable.instance
15 | }
16 | }
--------------------------------------------------------------------------------
/RxClassRoomStep1/Pods/RxSwift/RxSwift/Observables/Implementations/Error.swift:
--------------------------------------------------------------------------------
1 | //
2 | // Error.swift
3 | // Rx
4 | //
5 | // Created by Krunoslav Zaher on 8/30/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | class Error : Producer {
12 | private let _error: ErrorType
13 |
14 | init(error: ErrorType) {
15 | _error = error
16 | }
17 |
18 | override func subscribe(observer: O) -> Disposable {
19 | observer.on(.Error(_error))
20 | return NopDisposable.instance
21 | }
22 | }
--------------------------------------------------------------------------------
/RxClassRoomStep1/Pods/RxSwift/RxSwift/Observables/Implementations/Never.swift:
--------------------------------------------------------------------------------
1 | //
2 | // Never.swift
3 | // Rx
4 | //
5 | // Created by Krunoslav Zaher on 8/30/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | class Never : Producer {
12 | override func subscribe(observer: O) -> Disposable {
13 | return NopDisposable.instance
14 | }
15 | }
--------------------------------------------------------------------------------
/RxClassRoomStep1/Pods/RxSwift/RxSwift/Schedulers/Internal/AnonymousInvocable.swift:
--------------------------------------------------------------------------------
1 | //
2 | // AnonymousInvocable.swift
3 | // Rx
4 | //
5 | // Created by Krunoslav Zaher on 11/7/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | struct AnonymousInvocable : InvocableType {
12 | private let _action: () -> ()
13 |
14 | init(_ action: () -> ()) {
15 | _action = action
16 | }
17 |
18 | func invoke() {
19 | _action()
20 | }
21 | }
--------------------------------------------------------------------------------
/RxClassRoomStep1/Pods/RxSwift/RxSwift/Schedulers/Internal/InvocableScheduledItem.swift:
--------------------------------------------------------------------------------
1 | //
2 | // InvocableScheduledItem.swift
3 | // Rx
4 | //
5 | // Created by Krunoslav Zaher on 11/7/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | struct InvocableScheduledItem : InvocableType {
12 |
13 | let _invocable: I
14 | let _state: I.Value
15 |
16 | init(invocable: I, state: I.Value) {
17 | _invocable = invocable
18 | _state = state
19 | }
20 |
21 | func invoke() {
22 | _invocable.invoke(_state)
23 | }
24 | }
--------------------------------------------------------------------------------
/RxClassRoomStep1/Pods/RxSwift/RxSwift/Schedulers/Internal/InvocableType.swift:
--------------------------------------------------------------------------------
1 | //
2 | // InvocableType.swift
3 | // Rx
4 | //
5 | // Created by Krunoslav Zaher on 11/7/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | protocol InvocableType {
12 | func invoke()
13 | }
14 |
15 | protocol InvocableWithValueType {
16 | associatedtype Value
17 |
18 | func invoke(value: Value)
19 | }
--------------------------------------------------------------------------------
/RxClassRoomStep1/Pods/RxSwift/RxSwift/Schedulers/Internal/ScheduledItemType.swift:
--------------------------------------------------------------------------------
1 | //
2 | // ScheduledItemType.swift
3 | // Rx
4 | //
5 | // Created by Krunoslav Zaher on 11/7/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | protocol ScheduledItemType
12 | : Cancelable
13 | , InvocableType {
14 | func invoke()
15 | }
16 |
--------------------------------------------------------------------------------
/RxClassRoomStep1/Pods/Target Support Files/Action/Action-dummy.m:
--------------------------------------------------------------------------------
1 | #import
2 | @interface PodsDummy_Action : NSObject
3 | @end
4 | @implementation PodsDummy_Action
5 | @end
6 |
--------------------------------------------------------------------------------
/RxClassRoomStep1/Pods/Target Support Files/Action/Action-prefix.pch:
--------------------------------------------------------------------------------
1 | #ifdef __OBJC__
2 | #import
3 | #endif
4 |
5 |
--------------------------------------------------------------------------------
/RxClassRoomStep1/Pods/Target Support Files/Action/Action-umbrella.h:
--------------------------------------------------------------------------------
1 | #import
2 |
3 |
4 | FOUNDATION_EXPORT double ActionVersionNumber;
5 | FOUNDATION_EXPORT const unsigned char ActionVersionString[];
6 |
7 |
--------------------------------------------------------------------------------
/RxClassRoomStep1/Pods/Target Support Files/Action/Action.modulemap:
--------------------------------------------------------------------------------
1 | framework module Action {
2 | umbrella header "Action-umbrella.h"
3 |
4 | export *
5 | module * { export * }
6 | }
7 |
--------------------------------------------------------------------------------
/RxClassRoomStep1/Pods/Target Support Files/Pods-RxClassroom/Pods-RxClassroom-dummy.m:
--------------------------------------------------------------------------------
1 | #import
2 | @interface PodsDummy_Pods_RxClassroom : NSObject
3 | @end
4 | @implementation PodsDummy_Pods_RxClassroom
5 | @end
6 |
--------------------------------------------------------------------------------
/RxClassRoomStep1/Pods/Target Support Files/Pods-RxClassroom/Pods-RxClassroom-umbrella.h:
--------------------------------------------------------------------------------
1 | #import
2 |
3 |
4 | FOUNDATION_EXPORT double Pods_RxClassroomVersionNumber;
5 | FOUNDATION_EXPORT const unsigned char Pods_RxClassroomVersionString[];
6 |
7 |
--------------------------------------------------------------------------------
/RxClassRoomStep1/Pods/Target Support Files/Pods-RxClassroom/Pods-RxClassroom.modulemap:
--------------------------------------------------------------------------------
1 | framework module Pods_RxClassroom {
2 | umbrella header "Pods-RxClassroom-umbrella.h"
3 |
4 | export *
5 | module * { export * }
6 | }
7 |
--------------------------------------------------------------------------------
/RxClassRoomStep1/Pods/Target Support Files/RxCocoa/RxCocoa-dummy.m:
--------------------------------------------------------------------------------
1 | #import
2 | @interface PodsDummy_RxCocoa : NSObject
3 | @end
4 | @implementation PodsDummy_RxCocoa
5 | @end
6 |
--------------------------------------------------------------------------------
/RxClassRoomStep1/Pods/Target Support Files/RxCocoa/RxCocoa-prefix.pch:
--------------------------------------------------------------------------------
1 | #ifdef __OBJC__
2 | #import
3 | #endif
4 |
5 |
--------------------------------------------------------------------------------
/RxClassRoomStep1/Pods/Target Support Files/RxCocoa/RxCocoa-umbrella.h:
--------------------------------------------------------------------------------
1 | #import
2 |
3 | #import "RxCocoa.h"
4 | #import "_RX.h"
5 | #import "_RXDelegateProxy.h"
6 | #import "_RXKVOObserver.h"
7 | #import "_RXObjCRuntime.h"
8 |
9 | FOUNDATION_EXPORT double RxCocoaVersionNumber;
10 | FOUNDATION_EXPORT const unsigned char RxCocoaVersionString[];
11 |
12 |
--------------------------------------------------------------------------------
/RxClassRoomStep1/Pods/Target Support Files/RxCocoa/RxCocoa.modulemap:
--------------------------------------------------------------------------------
1 | framework module RxCocoa {
2 | umbrella header "RxCocoa-umbrella.h"
3 |
4 | export *
5 | module * { export * }
6 | }
7 |
--------------------------------------------------------------------------------
/RxClassRoomStep1/Pods/Target Support Files/RxCocoa/RxCocoa.xcconfig:
--------------------------------------------------------------------------------
1 | CONFIGURATION_BUILD_DIR = $PODS_CONFIGURATION_BUILD_DIR/RxCocoa
2 | FRAMEWORK_SEARCH_PATHS = $(inherited) "$PODS_CONFIGURATION_BUILD_DIR/RxSwift"
3 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
4 | HEADER_SEARCH_PATHS = "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Public"
5 | OTHER_SWIFT_FLAGS = $(inherited) "-D" "COCOAPODS"
6 | PODS_BUILD_DIR = $BUILD_DIR
7 | PODS_CONFIGURATION_BUILD_DIR = $PODS_BUILD_DIR/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
8 | PODS_ROOT = ${SRCROOT}
9 | PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier}
10 | SKIP_INSTALL = YES
11 |
--------------------------------------------------------------------------------
/RxClassRoomStep1/Pods/Target Support Files/RxSwift/RxSwift-dummy.m:
--------------------------------------------------------------------------------
1 | #import
2 | @interface PodsDummy_RxSwift : NSObject
3 | @end
4 | @implementation PodsDummy_RxSwift
5 | @end
6 |
--------------------------------------------------------------------------------
/RxClassRoomStep1/Pods/Target Support Files/RxSwift/RxSwift-prefix.pch:
--------------------------------------------------------------------------------
1 | #ifdef __OBJC__
2 | #import
3 | #endif
4 |
5 |
--------------------------------------------------------------------------------
/RxClassRoomStep1/Pods/Target Support Files/RxSwift/RxSwift-umbrella.h:
--------------------------------------------------------------------------------
1 | #import
2 |
3 |
4 | FOUNDATION_EXPORT double RxSwiftVersionNumber;
5 | FOUNDATION_EXPORT const unsigned char RxSwiftVersionString[];
6 |
7 |
--------------------------------------------------------------------------------
/RxClassRoomStep1/Pods/Target Support Files/RxSwift/RxSwift.modulemap:
--------------------------------------------------------------------------------
1 | framework module RxSwift {
2 | umbrella header "RxSwift-umbrella.h"
3 |
4 | export *
5 | module * { export * }
6 | }
7 |
--------------------------------------------------------------------------------
/RxClassRoomStep1/Pods/Target Support Files/RxSwift/RxSwift.xcconfig:
--------------------------------------------------------------------------------
1 | CONFIGURATION_BUILD_DIR = $PODS_CONFIGURATION_BUILD_DIR/RxSwift
2 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
3 | HEADER_SEARCH_PATHS = "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Public"
4 | OTHER_SWIFT_FLAGS = $(inherited) "-D" "COCOAPODS"
5 | PODS_BUILD_DIR = $BUILD_DIR
6 | PODS_CONFIGURATION_BUILD_DIR = $PODS_BUILD_DIR/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
7 | PODS_ROOT = ${SRCROOT}
8 | PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier}
9 | SKIP_INSTALL = YES
10 |
--------------------------------------------------------------------------------
/RxClassRoomStep1/RxClassroom.xcodeproj/project.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/RxClassRoomStep1/RxClassroom.xcodeproj/project.xcworkspace/xcuserdata/fpillet.xcuserdatad/UserInterfaceState.xcuserstate:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FrenchKit/RxClassroom/60ec25f8bd120e938c84392177d3afd095f08cfd/RxClassRoomStep1/RxClassroom.xcodeproj/project.xcworkspace/xcuserdata/fpillet.xcuserdatad/UserInterfaceState.xcuserstate
--------------------------------------------------------------------------------
/RxClassRoomStep1/RxClassroom.xcodeproj/project.xcworkspace/xcuserdata/fpillet.xcuserdatad/xcschemes/xcschememanagement.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/RxClassRoomStep1/RxClassroom.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/RxClassRoomStep1/RxClassroom.xcworkspace/xcuserdata/fpillet.xcuserdatad/UserInterfaceState.xcuserstate:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FrenchKit/RxClassroom/60ec25f8bd120e938c84392177d3afd095f08cfd/RxClassRoomStep1/RxClassroom.xcworkspace/xcuserdata/fpillet.xcuserdatad/UserInterfaceState.xcuserstate
--------------------------------------------------------------------------------
/RxClassRoomStep1/RxClassroom.xcworkspace/xcuserdata/fpillet.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist:
--------------------------------------------------------------------------------
1 |
2 |
5 |
6 |
--------------------------------------------------------------------------------
/RxClassRoomStep1/RxClassroom.xcworkspace/xcuserdata/fpillet.xcuserdatad/xcschemes/xcschememanagement.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/RxClassRoomStep1/RxClassroom/MainViewModel.swift:
--------------------------------------------------------------------------------
1 | //
2 | // MainViewModel.swift
3 | // RxClassroom
4 | //
5 | // Created by Florent Pillet on 22/09/16.
6 | // Copyright © 2016 Florent Pillet. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | class MainViewModel {
12 |
13 | }
14 |
--------------------------------------------------------------------------------
/RxClassRoomStep2/.idea/encodings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/RxClassRoomStep2/.idea/misc.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/RxClassRoomStep2/.idea/modules.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/RxClassRoomStep2/.idea/vcs.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/RxClassRoomStep2/.idea/xcode.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/RxClassRoomStep2/Podfile:
--------------------------------------------------------------------------------
1 | use_frameworks!
2 |
3 | target :RxClassroom do
4 | pod 'RxSwift'
5 | pod 'RxCocoa'
6 | pod 'Action'
7 | end
8 |
--------------------------------------------------------------------------------
/RxClassRoomStep2/Podfile.lock:
--------------------------------------------------------------------------------
1 | PODS:
2 | - Action (1.3.0):
3 | - RxCocoa (~> 2.6)
4 | - RxSwift (~> 2.6)
5 | - RxCocoa (2.6.0):
6 | - RxSwift (~> 2.5)
7 | - RxSwift (2.6.0)
8 |
9 | DEPENDENCIES:
10 | - Action
11 | - RxCocoa
12 | - RxSwift
13 |
14 | SPEC CHECKSUMS:
15 | Action: 09c900c05bfef2f422374dc97790429bddbd1bbc
16 | RxCocoa: 89ab00d5753502520227940e3a0e0a0413683c6b
17 | RxSwift: 77f3a0b15324baa7a1c9bfa9f199648a82424e26
18 |
19 | PODFILE CHECKSUM: 9a6b803cc55a7ac1457558f1794ed497be7611e8
20 |
21 | COCOAPODS: 1.0.1
22 |
--------------------------------------------------------------------------------
/RxClassRoomStep2/Pods/Manifest.lock:
--------------------------------------------------------------------------------
1 | PODS:
2 | - Action (1.3.0):
3 | - RxCocoa (~> 2.6)
4 | - RxSwift (~> 2.6)
5 | - RxCocoa (2.6.0):
6 | - RxSwift (~> 2.5)
7 | - RxSwift (2.6.0)
8 |
9 | DEPENDENCIES:
10 | - Action
11 | - RxCocoa
12 | - RxSwift
13 |
14 | SPEC CHECKSUMS:
15 | Action: 09c900c05bfef2f422374dc97790429bddbd1bbc
16 | RxCocoa: 89ab00d5753502520227940e3a0e0a0413683c6b
17 | RxSwift: 77f3a0b15324baa7a1c9bfa9f199648a82424e26
18 |
19 | PODFILE CHECKSUM: 9a6b803cc55a7ac1457558f1794ed497be7611e8
20 |
21 | COCOAPODS: 1.0.1
22 |
--------------------------------------------------------------------------------
/RxClassRoomStep2/Pods/RxCocoa/RxCocoa/Common/Observables/Implementations/DeallocObservable.swift:
--------------------------------------------------------------------------------
1 | //
2 | // DeallocObservable.swift
3 | // Rx
4 | //
5 | // Created by Krunoslav Zaher on 12/19/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 | #if !RX_NO_MODULE
11 | import RxSwift
12 | #endif
13 |
14 | class DeallocObservable {
15 | let _subject = ReplaySubject.create(bufferSize: 1)
16 |
17 | init() {
18 | }
19 |
20 | deinit {
21 | _subject.on(.Next(()))
22 | _subject.on(.Completed)
23 | }
24 | }
25 |
--------------------------------------------------------------------------------
/RxClassRoomStep2/Pods/RxCocoa/RxCocoa/Common/_RX.m:
--------------------------------------------------------------------------------
1 | //
2 | // _RX.m
3 | // RxCocoa
4 | //
5 | // Created by Krunoslav Zaher on 7/12/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | #import "_RX.h"
10 |
11 |
--------------------------------------------------------------------------------
/RxClassRoomStep2/Pods/RxCocoa/RxCocoa/Common/_RXDelegateProxy.h:
--------------------------------------------------------------------------------
1 | //
2 | // _RXDelegateProxy.h
3 | // RxCocoa
4 | //
5 | // Created by Krunoslav Zaher on 7/4/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | @interface _RXDelegateProxy : NSObject
12 |
13 | @property (nonatomic, weak, readonly) id _forwardToDelegate;
14 |
15 | -(void)_setForwardToDelegate:(id)forwardToDelegate retainDelegate:(BOOL)retainDelegate;
16 |
17 | -(BOOL)hasWiredImplementationForSelector:(SEL)selector;
18 |
19 | -(void)interceptedSelector:(SEL)selector withArguments:(NSArray*)arguments;
20 |
21 | @end
22 |
--------------------------------------------------------------------------------
/RxClassRoomStep2/Pods/RxCocoa/RxCocoa/RxCocoa.h:
--------------------------------------------------------------------------------
1 | //
2 | // RxCocoa.h
3 | // RxCocoa
4 | //
5 | // Created by Krunoslav Zaher on 2/21/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | #import
10 | #import "_RX.h"
11 | #import "_RXDelegateProxy.h"
12 | #import "_RXKVOObserver.h"
13 | #import "_RXObjCRuntime.h"
14 |
15 | //! Project version number for RxCocoa.
16 | FOUNDATION_EXPORT double RxCocoaVersionNumber;
17 |
18 | //! Project version string for RxCocoa.
19 | FOUNDATION_EXPORT const unsigned char RxCocoaVersionString[];
--------------------------------------------------------------------------------
/RxClassRoomStep2/Pods/RxCocoa/RxCocoa/iOS/Events/ItemEvents.swift:
--------------------------------------------------------------------------------
1 | //
2 | // ItemEvents.swift
3 | // RxCocoa
4 | //
5 | // Created by Krunoslav Zaher on 6/20/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 | import UIKit
11 |
12 | #if os(iOS) || os(tvOS)
13 | public typealias ItemMovedEvent = (sourceIndex: NSIndexPath, destinationIndex: NSIndexPath)
14 | public typealias WillDisplayCellEvent = (cell: UITableViewCell, indexPath: NSIndexPath)
15 | public typealias DidEndDisplayingCellEvent = (cell: UITableViewCell, indexPath: NSIndexPath)
16 | #endif
--------------------------------------------------------------------------------
/RxClassRoomStep2/Pods/RxSwift/RxSwift/Cancelable.swift:
--------------------------------------------------------------------------------
1 | //
2 | // Cancelable.swift
3 | // Rx
4 | //
5 | // Created by Krunoslav Zaher on 3/12/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | /**
12 | Represents disposable resource with state tracking.
13 | */
14 | public protocol Cancelable : Disposable {
15 | /**
16 | - returns: Was resource disposed.
17 | */
18 | var disposed: Bool { get }
19 | }
--------------------------------------------------------------------------------
/RxClassRoomStep2/Pods/RxSwift/RxSwift/Concurrency/LockOwnerType.swift:
--------------------------------------------------------------------------------
1 | //
2 | // LockOwnerType.swift
3 | // Rx
4 | //
5 | // Created by Krunoslav Zaher on 10/25/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | protocol LockOwnerType : class, Lock {
12 | var _lock: NSRecursiveLock { get }
13 | }
14 |
15 | extension LockOwnerType {
16 | func lock() {
17 | _lock.lock()
18 | }
19 |
20 | func unlock() {
21 | _lock.unlock()
22 | }
23 | }
--------------------------------------------------------------------------------
/RxClassRoomStep2/Pods/RxSwift/RxSwift/Concurrency/SynchronizedDisposeType.swift:
--------------------------------------------------------------------------------
1 | //
2 | // SynchronizedDisposeType.swift
3 | // Rx
4 | //
5 | // Created by Krunoslav Zaher on 10/25/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | protocol SynchronizedDisposeType : class, Disposable, Lock {
12 | func _synchronized_dispose()
13 | }
14 |
15 | extension SynchronizedDisposeType {
16 | func synchronizedDispose() {
17 | lock(); defer { unlock() }
18 | _synchronized_dispose()
19 | }
20 | }
--------------------------------------------------------------------------------
/RxClassRoomStep2/Pods/RxSwift/RxSwift/Concurrency/SynchronizedOnType.swift:
--------------------------------------------------------------------------------
1 | //
2 | // SynchronizedOnType.swift
3 | // Rx
4 | //
5 | // Created by Krunoslav Zaher on 10/25/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | protocol SynchronizedOnType : class, ObserverType, Lock {
12 | func _synchronized_on(event: Event)
13 | }
14 |
15 | extension SynchronizedOnType {
16 | func synchronizedOn(event: Event) {
17 | lock(); defer { unlock() }
18 | _synchronized_on(event)
19 | }
20 | }
--------------------------------------------------------------------------------
/RxClassRoomStep2/Pods/RxSwift/RxSwift/Concurrency/SynchronizedUnsubscribeType.swift:
--------------------------------------------------------------------------------
1 | //
2 | // SynchronizedUnsubscribeType.swift
3 | // Rx
4 | //
5 | // Created by Krunoslav Zaher on 10/25/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | protocol SynchronizedUnsubscribeType : class {
12 | associatedtype DisposeKey
13 |
14 | func synchronizedUnsubscribe(disposeKey: DisposeKey)
15 | }
--------------------------------------------------------------------------------
/RxClassRoomStep2/Pods/RxSwift/RxSwift/Disposable.swift:
--------------------------------------------------------------------------------
1 | //
2 | // Disposable.swift
3 | // Rx
4 | //
5 | // Created by Krunoslav Zaher on 2/8/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | /// Respresents a disposable resource.
12 | public protocol Disposable {
13 | /// Dispose resource.
14 | func dispose()
15 | }
--------------------------------------------------------------------------------
/RxClassRoomStep2/Pods/RxSwift/RxSwift/Disposables/DisposeBase.swift:
--------------------------------------------------------------------------------
1 | //
2 | // DisposeBase.swift
3 | // Rx
4 | //
5 | // Created by Krunoslav Zaher on 4/4/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | /**
12 | Base class for all disposables.
13 | */
14 | public class DisposeBase {
15 | init() {
16 | #if TRACE_RESOURCES
17 | AtomicIncrement(&resourceCount)
18 | #endif
19 | }
20 |
21 | deinit {
22 | #if TRACE_RESOURCES
23 | AtomicDecrement(&resourceCount)
24 | #endif
25 | }
26 | }
--------------------------------------------------------------------------------
/RxClassRoomStep2/Pods/RxSwift/RxSwift/Disposables/NAryDisposable.swift:
--------------------------------------------------------------------------------
1 | // This file is autogenerated. Take a look at `Preprocessor` target in RxSwift project
2 | //
3 | // NAryDisposable.swift
4 | // RxSwift
5 | //
6 | // Created by Krunoslav Zaher on 8/20/15.
7 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
8 | //
9 |
10 | import Foundation
11 |
--------------------------------------------------------------------------------
/RxClassRoomStep2/Pods/RxSwift/RxSwift/Disposables/StableCompositeDisposable.swift:
--------------------------------------------------------------------------------
1 | //
2 | // StableCompositeDisposable.swift
3 | // RxSwift
4 | //
5 | // Created by Krunoslav Zaher on 6/12/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | public final class StableCompositeDisposable {
12 | public static func create(disposable1: Disposable, _ disposable2: Disposable) -> Disposable {
13 | return BinaryDisposable(disposable1, disposable2)
14 | }
15 | }
--------------------------------------------------------------------------------
/RxClassRoomStep2/Pods/RxSwift/RxSwift/Disposables/SubscriptionDisposable.swift:
--------------------------------------------------------------------------------
1 | //
2 | // SubscriptionDisposable.swift
3 | // Rx
4 | //
5 | // Created by Krunoslav Zaher on 10/25/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | struct SubscriptionDisposable : Disposable {
12 | private let _key: T.DisposeKey
13 | private weak var _owner: T?
14 |
15 | init(owner: T, key: T.DisposeKey) {
16 | _owner = owner
17 | _key = key
18 | }
19 |
20 | func dispose() {
21 | _owner?.synchronizedUnsubscribe(_key)
22 | }
23 | }
--------------------------------------------------------------------------------
/RxClassRoomStep2/Pods/RxSwift/RxSwift/Observables/Implementations/Empty.swift:
--------------------------------------------------------------------------------
1 | //
2 | // Empty.swift
3 | // Rx
4 | //
5 | // Created by Krunoslav Zaher on 8/30/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | class Empty : Producer {
12 | override func subscribe(observer: O) -> Disposable {
13 | observer.on(.Completed)
14 | return NopDisposable.instance
15 | }
16 | }
--------------------------------------------------------------------------------
/RxClassRoomStep2/Pods/RxSwift/RxSwift/Observables/Implementations/Error.swift:
--------------------------------------------------------------------------------
1 | //
2 | // Error.swift
3 | // Rx
4 | //
5 | // Created by Krunoslav Zaher on 8/30/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | class Error : Producer {
12 | private let _error: ErrorType
13 |
14 | init(error: ErrorType) {
15 | _error = error
16 | }
17 |
18 | override func subscribe(observer: O) -> Disposable {
19 | observer.on(.Error(_error))
20 | return NopDisposable.instance
21 | }
22 | }
--------------------------------------------------------------------------------
/RxClassRoomStep2/Pods/RxSwift/RxSwift/Observables/Implementations/Never.swift:
--------------------------------------------------------------------------------
1 | //
2 | // Never.swift
3 | // Rx
4 | //
5 | // Created by Krunoslav Zaher on 8/30/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | class Never : Producer {
12 | override func subscribe(observer: O) -> Disposable {
13 | return NopDisposable.instance
14 | }
15 | }
--------------------------------------------------------------------------------
/RxClassRoomStep2/Pods/RxSwift/RxSwift/Schedulers/Internal/AnonymousInvocable.swift:
--------------------------------------------------------------------------------
1 | //
2 | // AnonymousInvocable.swift
3 | // Rx
4 | //
5 | // Created by Krunoslav Zaher on 11/7/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | struct AnonymousInvocable : InvocableType {
12 | private let _action: () -> ()
13 |
14 | init(_ action: () -> ()) {
15 | _action = action
16 | }
17 |
18 | func invoke() {
19 | _action()
20 | }
21 | }
--------------------------------------------------------------------------------
/RxClassRoomStep2/Pods/RxSwift/RxSwift/Schedulers/Internal/InvocableScheduledItem.swift:
--------------------------------------------------------------------------------
1 | //
2 | // InvocableScheduledItem.swift
3 | // Rx
4 | //
5 | // Created by Krunoslav Zaher on 11/7/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | struct InvocableScheduledItem : InvocableType {
12 |
13 | let _invocable: I
14 | let _state: I.Value
15 |
16 | init(invocable: I, state: I.Value) {
17 | _invocable = invocable
18 | _state = state
19 | }
20 |
21 | func invoke() {
22 | _invocable.invoke(_state)
23 | }
24 | }
--------------------------------------------------------------------------------
/RxClassRoomStep2/Pods/RxSwift/RxSwift/Schedulers/Internal/InvocableType.swift:
--------------------------------------------------------------------------------
1 | //
2 | // InvocableType.swift
3 | // Rx
4 | //
5 | // Created by Krunoslav Zaher on 11/7/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | protocol InvocableType {
12 | func invoke()
13 | }
14 |
15 | protocol InvocableWithValueType {
16 | associatedtype Value
17 |
18 | func invoke(value: Value)
19 | }
--------------------------------------------------------------------------------
/RxClassRoomStep2/Pods/RxSwift/RxSwift/Schedulers/Internal/ScheduledItemType.swift:
--------------------------------------------------------------------------------
1 | //
2 | // ScheduledItemType.swift
3 | // Rx
4 | //
5 | // Created by Krunoslav Zaher on 11/7/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | protocol ScheduledItemType
12 | : Cancelable
13 | , InvocableType {
14 | func invoke()
15 | }
16 |
--------------------------------------------------------------------------------
/RxClassRoomStep2/Pods/Target Support Files/Action/Action-dummy.m:
--------------------------------------------------------------------------------
1 | #import
2 | @interface PodsDummy_Action : NSObject
3 | @end
4 | @implementation PodsDummy_Action
5 | @end
6 |
--------------------------------------------------------------------------------
/RxClassRoomStep2/Pods/Target Support Files/Action/Action-prefix.pch:
--------------------------------------------------------------------------------
1 | #ifdef __OBJC__
2 | #import
3 | #endif
4 |
5 |
--------------------------------------------------------------------------------
/RxClassRoomStep2/Pods/Target Support Files/Action/Action-umbrella.h:
--------------------------------------------------------------------------------
1 | #import
2 |
3 |
4 | FOUNDATION_EXPORT double ActionVersionNumber;
5 | FOUNDATION_EXPORT const unsigned char ActionVersionString[];
6 |
7 |
--------------------------------------------------------------------------------
/RxClassRoomStep2/Pods/Target Support Files/Action/Action.modulemap:
--------------------------------------------------------------------------------
1 | framework module Action {
2 | umbrella header "Action-umbrella.h"
3 |
4 | export *
5 | module * { export * }
6 | }
7 |
--------------------------------------------------------------------------------
/RxClassRoomStep2/Pods/Target Support Files/Pods-RxClassroom/Pods-RxClassroom-dummy.m:
--------------------------------------------------------------------------------
1 | #import
2 | @interface PodsDummy_Pods_RxClassroom : NSObject
3 | @end
4 | @implementation PodsDummy_Pods_RxClassroom
5 | @end
6 |
--------------------------------------------------------------------------------
/RxClassRoomStep2/Pods/Target Support Files/Pods-RxClassroom/Pods-RxClassroom-umbrella.h:
--------------------------------------------------------------------------------
1 | #import
2 |
3 |
4 | FOUNDATION_EXPORT double Pods_RxClassroomVersionNumber;
5 | FOUNDATION_EXPORT const unsigned char Pods_RxClassroomVersionString[];
6 |
7 |
--------------------------------------------------------------------------------
/RxClassRoomStep2/Pods/Target Support Files/Pods-RxClassroom/Pods-RxClassroom.modulemap:
--------------------------------------------------------------------------------
1 | framework module Pods_RxClassroom {
2 | umbrella header "Pods-RxClassroom-umbrella.h"
3 |
4 | export *
5 | module * { export * }
6 | }
7 |
--------------------------------------------------------------------------------
/RxClassRoomStep2/Pods/Target Support Files/RxCocoa/RxCocoa-dummy.m:
--------------------------------------------------------------------------------
1 | #import
2 | @interface PodsDummy_RxCocoa : NSObject
3 | @end
4 | @implementation PodsDummy_RxCocoa
5 | @end
6 |
--------------------------------------------------------------------------------
/RxClassRoomStep2/Pods/Target Support Files/RxCocoa/RxCocoa-prefix.pch:
--------------------------------------------------------------------------------
1 | #ifdef __OBJC__
2 | #import
3 | #endif
4 |
5 |
--------------------------------------------------------------------------------
/RxClassRoomStep2/Pods/Target Support Files/RxCocoa/RxCocoa-umbrella.h:
--------------------------------------------------------------------------------
1 | #import
2 |
3 | #import "RxCocoa.h"
4 | #import "_RX.h"
5 | #import "_RXDelegateProxy.h"
6 | #import "_RXKVOObserver.h"
7 | #import "_RXObjCRuntime.h"
8 |
9 | FOUNDATION_EXPORT double RxCocoaVersionNumber;
10 | FOUNDATION_EXPORT const unsigned char RxCocoaVersionString[];
11 |
12 |
--------------------------------------------------------------------------------
/RxClassRoomStep2/Pods/Target Support Files/RxCocoa/RxCocoa.modulemap:
--------------------------------------------------------------------------------
1 | framework module RxCocoa {
2 | umbrella header "RxCocoa-umbrella.h"
3 |
4 | export *
5 | module * { export * }
6 | }
7 |
--------------------------------------------------------------------------------
/RxClassRoomStep2/Pods/Target Support Files/RxCocoa/RxCocoa.xcconfig:
--------------------------------------------------------------------------------
1 | CONFIGURATION_BUILD_DIR = $PODS_CONFIGURATION_BUILD_DIR/RxCocoa
2 | FRAMEWORK_SEARCH_PATHS = $(inherited) "$PODS_CONFIGURATION_BUILD_DIR/RxSwift"
3 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
4 | HEADER_SEARCH_PATHS = "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Public"
5 | OTHER_SWIFT_FLAGS = $(inherited) "-D" "COCOAPODS"
6 | PODS_BUILD_DIR = $BUILD_DIR
7 | PODS_CONFIGURATION_BUILD_DIR = $PODS_BUILD_DIR/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
8 | PODS_ROOT = ${SRCROOT}
9 | PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier}
10 | SKIP_INSTALL = YES
11 |
--------------------------------------------------------------------------------
/RxClassRoomStep2/Pods/Target Support Files/RxSwift/RxSwift-dummy.m:
--------------------------------------------------------------------------------
1 | #import
2 | @interface PodsDummy_RxSwift : NSObject
3 | @end
4 | @implementation PodsDummy_RxSwift
5 | @end
6 |
--------------------------------------------------------------------------------
/RxClassRoomStep2/Pods/Target Support Files/RxSwift/RxSwift-prefix.pch:
--------------------------------------------------------------------------------
1 | #ifdef __OBJC__
2 | #import
3 | #endif
4 |
5 |
--------------------------------------------------------------------------------
/RxClassRoomStep2/Pods/Target Support Files/RxSwift/RxSwift-umbrella.h:
--------------------------------------------------------------------------------
1 | #import
2 |
3 |
4 | FOUNDATION_EXPORT double RxSwiftVersionNumber;
5 | FOUNDATION_EXPORT const unsigned char RxSwiftVersionString[];
6 |
7 |
--------------------------------------------------------------------------------
/RxClassRoomStep2/Pods/Target Support Files/RxSwift/RxSwift.modulemap:
--------------------------------------------------------------------------------
1 | framework module RxSwift {
2 | umbrella header "RxSwift-umbrella.h"
3 |
4 | export *
5 | module * { export * }
6 | }
7 |
--------------------------------------------------------------------------------
/RxClassRoomStep2/Pods/Target Support Files/RxSwift/RxSwift.xcconfig:
--------------------------------------------------------------------------------
1 | CONFIGURATION_BUILD_DIR = $PODS_CONFIGURATION_BUILD_DIR/RxSwift
2 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
3 | HEADER_SEARCH_PATHS = "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Public"
4 | OTHER_SWIFT_FLAGS = $(inherited) "-D" "COCOAPODS"
5 | PODS_BUILD_DIR = $BUILD_DIR
6 | PODS_CONFIGURATION_BUILD_DIR = $PODS_BUILD_DIR/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
7 | PODS_ROOT = ${SRCROOT}
8 | PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier}
9 | SKIP_INSTALL = YES
10 |
--------------------------------------------------------------------------------
/RxClassRoomStep2/RxClassroom.xcodeproj/project.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/RxClassRoomStep2/RxClassroom.xcodeproj/project.xcworkspace/xcuserdata/fpillet.xcuserdatad/UserInterfaceState.xcuserstate:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FrenchKit/RxClassroom/60ec25f8bd120e938c84392177d3afd095f08cfd/RxClassRoomStep2/RxClassroom.xcodeproj/project.xcworkspace/xcuserdata/fpillet.xcuserdatad/UserInterfaceState.xcuserstate
--------------------------------------------------------------------------------
/RxClassRoomStep2/RxClassroom.xcodeproj/project.xcworkspace/xcuserdata/fpillet.xcuserdatad/xcschemes/xcschememanagement.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/RxClassRoomStep2/RxClassroom.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/RxClassRoomStep2/RxClassroom.xcworkspace/xcuserdata/fpillet.xcuserdatad/UserInterfaceState.xcuserstate:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FrenchKit/RxClassroom/60ec25f8bd120e938c84392177d3afd095f08cfd/RxClassRoomStep2/RxClassroom.xcworkspace/xcuserdata/fpillet.xcuserdatad/UserInterfaceState.xcuserstate
--------------------------------------------------------------------------------
/RxClassRoomStep2/RxClassroom.xcworkspace/xcuserdata/fpillet.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist:
--------------------------------------------------------------------------------
1 |
2 |
5 |
6 |
--------------------------------------------------------------------------------
/RxClassRoomStep2/RxClassroom.xcworkspace/xcuserdata/fpillet.xcuserdatad/xcschemes/xcschememanagement.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/RxClassRoomStep3/.idea/encodings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/RxClassRoomStep3/.idea/misc.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/RxClassRoomStep3/.idea/modules.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/RxClassRoomStep3/.idea/vcs.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/RxClassRoomStep3/.idea/xcode.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/RxClassRoomStep3/Podfile:
--------------------------------------------------------------------------------
1 | use_frameworks!
2 |
3 | target :RxClassroom do
4 | pod 'RxSwift'
5 | pod 'RxCocoa'
6 | pod 'Action'
7 | end
8 |
--------------------------------------------------------------------------------
/RxClassRoomStep3/Podfile.lock:
--------------------------------------------------------------------------------
1 | PODS:
2 | - Action (1.3.0):
3 | - RxCocoa (~> 2.6)
4 | - RxSwift (~> 2.6)
5 | - RxCocoa (2.6.0):
6 | - RxSwift (~> 2.5)
7 | - RxSwift (2.6.0)
8 |
9 | DEPENDENCIES:
10 | - Action
11 | - RxCocoa
12 | - RxSwift
13 |
14 | SPEC CHECKSUMS:
15 | Action: 09c900c05bfef2f422374dc97790429bddbd1bbc
16 | RxCocoa: 89ab00d5753502520227940e3a0e0a0413683c6b
17 | RxSwift: 77f3a0b15324baa7a1c9bfa9f199648a82424e26
18 |
19 | PODFILE CHECKSUM: 9a6b803cc55a7ac1457558f1794ed497be7611e8
20 |
21 | COCOAPODS: 1.0.1
22 |
--------------------------------------------------------------------------------
/RxClassRoomStep3/Pods/Manifest.lock:
--------------------------------------------------------------------------------
1 | PODS:
2 | - Action (1.3.0):
3 | - RxCocoa (~> 2.6)
4 | - RxSwift (~> 2.6)
5 | - RxCocoa (2.6.0):
6 | - RxSwift (~> 2.5)
7 | - RxSwift (2.6.0)
8 |
9 | DEPENDENCIES:
10 | - Action
11 | - RxCocoa
12 | - RxSwift
13 |
14 | SPEC CHECKSUMS:
15 | Action: 09c900c05bfef2f422374dc97790429bddbd1bbc
16 | RxCocoa: 89ab00d5753502520227940e3a0e0a0413683c6b
17 | RxSwift: 77f3a0b15324baa7a1c9bfa9f199648a82424e26
18 |
19 | PODFILE CHECKSUM: 9a6b803cc55a7ac1457558f1794ed497be7611e8
20 |
21 | COCOAPODS: 1.0.1
22 |
--------------------------------------------------------------------------------
/RxClassRoomStep3/Pods/RxCocoa/RxCocoa/Common/Observables/Implementations/DeallocObservable.swift:
--------------------------------------------------------------------------------
1 | //
2 | // DeallocObservable.swift
3 | // Rx
4 | //
5 | // Created by Krunoslav Zaher on 12/19/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 | #if !RX_NO_MODULE
11 | import RxSwift
12 | #endif
13 |
14 | class DeallocObservable {
15 | let _subject = ReplaySubject.create(bufferSize: 1)
16 |
17 | init() {
18 | }
19 |
20 | deinit {
21 | _subject.on(.Next(()))
22 | _subject.on(.Completed)
23 | }
24 | }
25 |
--------------------------------------------------------------------------------
/RxClassRoomStep3/Pods/RxCocoa/RxCocoa/Common/_RX.m:
--------------------------------------------------------------------------------
1 | //
2 | // _RX.m
3 | // RxCocoa
4 | //
5 | // Created by Krunoslav Zaher on 7/12/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | #import "_RX.h"
10 |
11 |
--------------------------------------------------------------------------------
/RxClassRoomStep3/Pods/RxCocoa/RxCocoa/Common/_RXDelegateProxy.h:
--------------------------------------------------------------------------------
1 | //
2 | // _RXDelegateProxy.h
3 | // RxCocoa
4 | //
5 | // Created by Krunoslav Zaher on 7/4/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | @interface _RXDelegateProxy : NSObject
12 |
13 | @property (nonatomic, weak, readonly) id _forwardToDelegate;
14 |
15 | -(void)_setForwardToDelegate:(id)forwardToDelegate retainDelegate:(BOOL)retainDelegate;
16 |
17 | -(BOOL)hasWiredImplementationForSelector:(SEL)selector;
18 |
19 | -(void)interceptedSelector:(SEL)selector withArguments:(NSArray*)arguments;
20 |
21 | @end
22 |
--------------------------------------------------------------------------------
/RxClassRoomStep3/Pods/RxCocoa/RxCocoa/RxCocoa.h:
--------------------------------------------------------------------------------
1 | //
2 | // RxCocoa.h
3 | // RxCocoa
4 | //
5 | // Created by Krunoslav Zaher on 2/21/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | #import
10 | #import "_RX.h"
11 | #import "_RXDelegateProxy.h"
12 | #import "_RXKVOObserver.h"
13 | #import "_RXObjCRuntime.h"
14 |
15 | //! Project version number for RxCocoa.
16 | FOUNDATION_EXPORT double RxCocoaVersionNumber;
17 |
18 | //! Project version string for RxCocoa.
19 | FOUNDATION_EXPORT const unsigned char RxCocoaVersionString[];
--------------------------------------------------------------------------------
/RxClassRoomStep3/Pods/RxCocoa/RxCocoa/iOS/Events/ItemEvents.swift:
--------------------------------------------------------------------------------
1 | //
2 | // ItemEvents.swift
3 | // RxCocoa
4 | //
5 | // Created by Krunoslav Zaher on 6/20/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 | import UIKit
11 |
12 | #if os(iOS) || os(tvOS)
13 | public typealias ItemMovedEvent = (sourceIndex: NSIndexPath, destinationIndex: NSIndexPath)
14 | public typealias WillDisplayCellEvent = (cell: UITableViewCell, indexPath: NSIndexPath)
15 | public typealias DidEndDisplayingCellEvent = (cell: UITableViewCell, indexPath: NSIndexPath)
16 | #endif
--------------------------------------------------------------------------------
/RxClassRoomStep3/Pods/RxSwift/RxSwift/Cancelable.swift:
--------------------------------------------------------------------------------
1 | //
2 | // Cancelable.swift
3 | // Rx
4 | //
5 | // Created by Krunoslav Zaher on 3/12/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | /**
12 | Represents disposable resource with state tracking.
13 | */
14 | public protocol Cancelable : Disposable {
15 | /**
16 | - returns: Was resource disposed.
17 | */
18 | var disposed: Bool { get }
19 | }
--------------------------------------------------------------------------------
/RxClassRoomStep3/Pods/RxSwift/RxSwift/Concurrency/LockOwnerType.swift:
--------------------------------------------------------------------------------
1 | //
2 | // LockOwnerType.swift
3 | // Rx
4 | //
5 | // Created by Krunoslav Zaher on 10/25/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | protocol LockOwnerType : class, Lock {
12 | var _lock: NSRecursiveLock { get }
13 | }
14 |
15 | extension LockOwnerType {
16 | func lock() {
17 | _lock.lock()
18 | }
19 |
20 | func unlock() {
21 | _lock.unlock()
22 | }
23 | }
--------------------------------------------------------------------------------
/RxClassRoomStep3/Pods/RxSwift/RxSwift/Concurrency/SynchronizedDisposeType.swift:
--------------------------------------------------------------------------------
1 | //
2 | // SynchronizedDisposeType.swift
3 | // Rx
4 | //
5 | // Created by Krunoslav Zaher on 10/25/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | protocol SynchronizedDisposeType : class, Disposable, Lock {
12 | func _synchronized_dispose()
13 | }
14 |
15 | extension SynchronizedDisposeType {
16 | func synchronizedDispose() {
17 | lock(); defer { unlock() }
18 | _synchronized_dispose()
19 | }
20 | }
--------------------------------------------------------------------------------
/RxClassRoomStep3/Pods/RxSwift/RxSwift/Concurrency/SynchronizedOnType.swift:
--------------------------------------------------------------------------------
1 | //
2 | // SynchronizedOnType.swift
3 | // Rx
4 | //
5 | // Created by Krunoslav Zaher on 10/25/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | protocol SynchronizedOnType : class, ObserverType, Lock {
12 | func _synchronized_on(event: Event)
13 | }
14 |
15 | extension SynchronizedOnType {
16 | func synchronizedOn(event: Event) {
17 | lock(); defer { unlock() }
18 | _synchronized_on(event)
19 | }
20 | }
--------------------------------------------------------------------------------
/RxClassRoomStep3/Pods/RxSwift/RxSwift/Concurrency/SynchronizedUnsubscribeType.swift:
--------------------------------------------------------------------------------
1 | //
2 | // SynchronizedUnsubscribeType.swift
3 | // Rx
4 | //
5 | // Created by Krunoslav Zaher on 10/25/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | protocol SynchronizedUnsubscribeType : class {
12 | associatedtype DisposeKey
13 |
14 | func synchronizedUnsubscribe(disposeKey: DisposeKey)
15 | }
--------------------------------------------------------------------------------
/RxClassRoomStep3/Pods/RxSwift/RxSwift/Disposable.swift:
--------------------------------------------------------------------------------
1 | //
2 | // Disposable.swift
3 | // Rx
4 | //
5 | // Created by Krunoslav Zaher on 2/8/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | /// Respresents a disposable resource.
12 | public protocol Disposable {
13 | /// Dispose resource.
14 | func dispose()
15 | }
--------------------------------------------------------------------------------
/RxClassRoomStep3/Pods/RxSwift/RxSwift/Disposables/DisposeBase.swift:
--------------------------------------------------------------------------------
1 | //
2 | // DisposeBase.swift
3 | // Rx
4 | //
5 | // Created by Krunoslav Zaher on 4/4/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | /**
12 | Base class for all disposables.
13 | */
14 | public class DisposeBase {
15 | init() {
16 | #if TRACE_RESOURCES
17 | AtomicIncrement(&resourceCount)
18 | #endif
19 | }
20 |
21 | deinit {
22 | #if TRACE_RESOURCES
23 | AtomicDecrement(&resourceCount)
24 | #endif
25 | }
26 | }
--------------------------------------------------------------------------------
/RxClassRoomStep3/Pods/RxSwift/RxSwift/Disposables/NAryDisposable.swift:
--------------------------------------------------------------------------------
1 | // This file is autogenerated. Take a look at `Preprocessor` target in RxSwift project
2 | //
3 | // NAryDisposable.swift
4 | // RxSwift
5 | //
6 | // Created by Krunoslav Zaher on 8/20/15.
7 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
8 | //
9 |
10 | import Foundation
11 |
--------------------------------------------------------------------------------
/RxClassRoomStep3/Pods/RxSwift/RxSwift/Disposables/StableCompositeDisposable.swift:
--------------------------------------------------------------------------------
1 | //
2 | // StableCompositeDisposable.swift
3 | // RxSwift
4 | //
5 | // Created by Krunoslav Zaher on 6/12/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | public final class StableCompositeDisposable {
12 | public static func create(disposable1: Disposable, _ disposable2: Disposable) -> Disposable {
13 | return BinaryDisposable(disposable1, disposable2)
14 | }
15 | }
--------------------------------------------------------------------------------
/RxClassRoomStep3/Pods/RxSwift/RxSwift/Disposables/SubscriptionDisposable.swift:
--------------------------------------------------------------------------------
1 | //
2 | // SubscriptionDisposable.swift
3 | // Rx
4 | //
5 | // Created by Krunoslav Zaher on 10/25/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | struct SubscriptionDisposable : Disposable {
12 | private let _key: T.DisposeKey
13 | private weak var _owner: T?
14 |
15 | init(owner: T, key: T.DisposeKey) {
16 | _owner = owner
17 | _key = key
18 | }
19 |
20 | func dispose() {
21 | _owner?.synchronizedUnsubscribe(_key)
22 | }
23 | }
--------------------------------------------------------------------------------
/RxClassRoomStep3/Pods/RxSwift/RxSwift/Observables/Implementations/Empty.swift:
--------------------------------------------------------------------------------
1 | //
2 | // Empty.swift
3 | // Rx
4 | //
5 | // Created by Krunoslav Zaher on 8/30/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | class Empty : Producer {
12 | override func subscribe(observer: O) -> Disposable {
13 | observer.on(.Completed)
14 | return NopDisposable.instance
15 | }
16 | }
--------------------------------------------------------------------------------
/RxClassRoomStep3/Pods/RxSwift/RxSwift/Observables/Implementations/Error.swift:
--------------------------------------------------------------------------------
1 | //
2 | // Error.swift
3 | // Rx
4 | //
5 | // Created by Krunoslav Zaher on 8/30/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | class Error : Producer {
12 | private let _error: ErrorType
13 |
14 | init(error: ErrorType) {
15 | _error = error
16 | }
17 |
18 | override func subscribe(observer: O) -> Disposable {
19 | observer.on(.Error(_error))
20 | return NopDisposable.instance
21 | }
22 | }
--------------------------------------------------------------------------------
/RxClassRoomStep3/Pods/RxSwift/RxSwift/Observables/Implementations/Never.swift:
--------------------------------------------------------------------------------
1 | //
2 | // Never.swift
3 | // Rx
4 | //
5 | // Created by Krunoslav Zaher on 8/30/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | class Never : Producer {
12 | override func subscribe(observer: O) -> Disposable {
13 | return NopDisposable.instance
14 | }
15 | }
--------------------------------------------------------------------------------
/RxClassRoomStep3/Pods/RxSwift/RxSwift/Schedulers/Internal/AnonymousInvocable.swift:
--------------------------------------------------------------------------------
1 | //
2 | // AnonymousInvocable.swift
3 | // Rx
4 | //
5 | // Created by Krunoslav Zaher on 11/7/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | struct AnonymousInvocable : InvocableType {
12 | private let _action: () -> ()
13 |
14 | init(_ action: () -> ()) {
15 | _action = action
16 | }
17 |
18 | func invoke() {
19 | _action()
20 | }
21 | }
--------------------------------------------------------------------------------
/RxClassRoomStep3/Pods/RxSwift/RxSwift/Schedulers/Internal/InvocableScheduledItem.swift:
--------------------------------------------------------------------------------
1 | //
2 | // InvocableScheduledItem.swift
3 | // Rx
4 | //
5 | // Created by Krunoslav Zaher on 11/7/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | struct InvocableScheduledItem : InvocableType {
12 |
13 | let _invocable: I
14 | let _state: I.Value
15 |
16 | init(invocable: I, state: I.Value) {
17 | _invocable = invocable
18 | _state = state
19 | }
20 |
21 | func invoke() {
22 | _invocable.invoke(_state)
23 | }
24 | }
--------------------------------------------------------------------------------
/RxClassRoomStep3/Pods/RxSwift/RxSwift/Schedulers/Internal/InvocableType.swift:
--------------------------------------------------------------------------------
1 | //
2 | // InvocableType.swift
3 | // Rx
4 | //
5 | // Created by Krunoslav Zaher on 11/7/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | protocol InvocableType {
12 | func invoke()
13 | }
14 |
15 | protocol InvocableWithValueType {
16 | associatedtype Value
17 |
18 | func invoke(value: Value)
19 | }
--------------------------------------------------------------------------------
/RxClassRoomStep3/Pods/RxSwift/RxSwift/Schedulers/Internal/ScheduledItemType.swift:
--------------------------------------------------------------------------------
1 | //
2 | // ScheduledItemType.swift
3 | // Rx
4 | //
5 | // Created by Krunoslav Zaher on 11/7/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | protocol ScheduledItemType
12 | : Cancelable
13 | , InvocableType {
14 | func invoke()
15 | }
16 |
--------------------------------------------------------------------------------
/RxClassRoomStep3/Pods/Target Support Files/Action/Action-dummy.m:
--------------------------------------------------------------------------------
1 | #import
2 | @interface PodsDummy_Action : NSObject
3 | @end
4 | @implementation PodsDummy_Action
5 | @end
6 |
--------------------------------------------------------------------------------
/RxClassRoomStep3/Pods/Target Support Files/Action/Action-prefix.pch:
--------------------------------------------------------------------------------
1 | #ifdef __OBJC__
2 | #import
3 | #endif
4 |
5 |
--------------------------------------------------------------------------------
/RxClassRoomStep3/Pods/Target Support Files/Action/Action-umbrella.h:
--------------------------------------------------------------------------------
1 | #import
2 |
3 |
4 | FOUNDATION_EXPORT double ActionVersionNumber;
5 | FOUNDATION_EXPORT const unsigned char ActionVersionString[];
6 |
7 |
--------------------------------------------------------------------------------
/RxClassRoomStep3/Pods/Target Support Files/Action/Action.modulemap:
--------------------------------------------------------------------------------
1 | framework module Action {
2 | umbrella header "Action-umbrella.h"
3 |
4 | export *
5 | module * { export * }
6 | }
7 |
--------------------------------------------------------------------------------
/RxClassRoomStep3/Pods/Target Support Files/Pods-RxClassroom/Pods-RxClassroom-dummy.m:
--------------------------------------------------------------------------------
1 | #import
2 | @interface PodsDummy_Pods_RxClassroom : NSObject
3 | @end
4 | @implementation PodsDummy_Pods_RxClassroom
5 | @end
6 |
--------------------------------------------------------------------------------
/RxClassRoomStep3/Pods/Target Support Files/Pods-RxClassroom/Pods-RxClassroom-umbrella.h:
--------------------------------------------------------------------------------
1 | #import
2 |
3 |
4 | FOUNDATION_EXPORT double Pods_RxClassroomVersionNumber;
5 | FOUNDATION_EXPORT const unsigned char Pods_RxClassroomVersionString[];
6 |
7 |
--------------------------------------------------------------------------------
/RxClassRoomStep3/Pods/Target Support Files/Pods-RxClassroom/Pods-RxClassroom.modulemap:
--------------------------------------------------------------------------------
1 | framework module Pods_RxClassroom {
2 | umbrella header "Pods-RxClassroom-umbrella.h"
3 |
4 | export *
5 | module * { export * }
6 | }
7 |
--------------------------------------------------------------------------------
/RxClassRoomStep3/Pods/Target Support Files/RxCocoa/RxCocoa-dummy.m:
--------------------------------------------------------------------------------
1 | #import
2 | @interface PodsDummy_RxCocoa : NSObject
3 | @end
4 | @implementation PodsDummy_RxCocoa
5 | @end
6 |
--------------------------------------------------------------------------------
/RxClassRoomStep3/Pods/Target Support Files/RxCocoa/RxCocoa-prefix.pch:
--------------------------------------------------------------------------------
1 | #ifdef __OBJC__
2 | #import
3 | #endif
4 |
5 |
--------------------------------------------------------------------------------
/RxClassRoomStep3/Pods/Target Support Files/RxCocoa/RxCocoa-umbrella.h:
--------------------------------------------------------------------------------
1 | #import
2 |
3 | #import "RxCocoa.h"
4 | #import "_RX.h"
5 | #import "_RXDelegateProxy.h"
6 | #import "_RXKVOObserver.h"
7 | #import "_RXObjCRuntime.h"
8 |
9 | FOUNDATION_EXPORT double RxCocoaVersionNumber;
10 | FOUNDATION_EXPORT const unsigned char RxCocoaVersionString[];
11 |
12 |
--------------------------------------------------------------------------------
/RxClassRoomStep3/Pods/Target Support Files/RxCocoa/RxCocoa.modulemap:
--------------------------------------------------------------------------------
1 | framework module RxCocoa {
2 | umbrella header "RxCocoa-umbrella.h"
3 |
4 | export *
5 | module * { export * }
6 | }
7 |
--------------------------------------------------------------------------------
/RxClassRoomStep3/Pods/Target Support Files/RxCocoa/RxCocoa.xcconfig:
--------------------------------------------------------------------------------
1 | CONFIGURATION_BUILD_DIR = $PODS_CONFIGURATION_BUILD_DIR/RxCocoa
2 | FRAMEWORK_SEARCH_PATHS = $(inherited) "$PODS_CONFIGURATION_BUILD_DIR/RxSwift"
3 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
4 | HEADER_SEARCH_PATHS = "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Public"
5 | OTHER_SWIFT_FLAGS = $(inherited) "-D" "COCOAPODS"
6 | PODS_BUILD_DIR = $BUILD_DIR
7 | PODS_CONFIGURATION_BUILD_DIR = $PODS_BUILD_DIR/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
8 | PODS_ROOT = ${SRCROOT}
9 | PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier}
10 | SKIP_INSTALL = YES
11 |
--------------------------------------------------------------------------------
/RxClassRoomStep3/Pods/Target Support Files/RxSwift/RxSwift-dummy.m:
--------------------------------------------------------------------------------
1 | #import
2 | @interface PodsDummy_RxSwift : NSObject
3 | @end
4 | @implementation PodsDummy_RxSwift
5 | @end
6 |
--------------------------------------------------------------------------------
/RxClassRoomStep3/Pods/Target Support Files/RxSwift/RxSwift-prefix.pch:
--------------------------------------------------------------------------------
1 | #ifdef __OBJC__
2 | #import
3 | #endif
4 |
5 |
--------------------------------------------------------------------------------
/RxClassRoomStep3/Pods/Target Support Files/RxSwift/RxSwift-umbrella.h:
--------------------------------------------------------------------------------
1 | #import
2 |
3 |
4 | FOUNDATION_EXPORT double RxSwiftVersionNumber;
5 | FOUNDATION_EXPORT const unsigned char RxSwiftVersionString[];
6 |
7 |
--------------------------------------------------------------------------------
/RxClassRoomStep3/Pods/Target Support Files/RxSwift/RxSwift.modulemap:
--------------------------------------------------------------------------------
1 | framework module RxSwift {
2 | umbrella header "RxSwift-umbrella.h"
3 |
4 | export *
5 | module * { export * }
6 | }
7 |
--------------------------------------------------------------------------------
/RxClassRoomStep3/Pods/Target Support Files/RxSwift/RxSwift.xcconfig:
--------------------------------------------------------------------------------
1 | CONFIGURATION_BUILD_DIR = $PODS_CONFIGURATION_BUILD_DIR/RxSwift
2 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
3 | HEADER_SEARCH_PATHS = "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Public"
4 | OTHER_SWIFT_FLAGS = $(inherited) "-D" "COCOAPODS"
5 | PODS_BUILD_DIR = $BUILD_DIR
6 | PODS_CONFIGURATION_BUILD_DIR = $PODS_BUILD_DIR/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
7 | PODS_ROOT = ${SRCROOT}
8 | PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier}
9 | SKIP_INSTALL = YES
10 |
--------------------------------------------------------------------------------
/RxClassRoomStep3/RxClassroom.xcodeproj/project.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/RxClassRoomStep3/RxClassroom.xcodeproj/project.xcworkspace/xcuserdata/fpillet.xcuserdatad/UserInterfaceState.xcuserstate:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FrenchKit/RxClassroom/60ec25f8bd120e938c84392177d3afd095f08cfd/RxClassRoomStep3/RxClassroom.xcodeproj/project.xcworkspace/xcuserdata/fpillet.xcuserdatad/UserInterfaceState.xcuserstate
--------------------------------------------------------------------------------
/RxClassRoomStep3/RxClassroom.xcodeproj/project.xcworkspace/xcuserdata/fpillet.xcuserdatad/xcschemes/xcschememanagement.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/RxClassRoomStep3/RxClassroom.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/RxClassRoomStep3/RxClassroom.xcworkspace/xcuserdata/fpillet.xcuserdatad/UserInterfaceState.xcuserstate:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FrenchKit/RxClassroom/60ec25f8bd120e938c84392177d3afd095f08cfd/RxClassRoomStep3/RxClassroom.xcworkspace/xcuserdata/fpillet.xcuserdatad/UserInterfaceState.xcuserstate
--------------------------------------------------------------------------------
/RxClassRoomStep3/RxClassroom.xcworkspace/xcuserdata/fpillet.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist:
--------------------------------------------------------------------------------
1 |
2 |
5 |
6 |
--------------------------------------------------------------------------------
/RxClassRoomStep3/RxClassroom.xcworkspace/xcuserdata/fpillet.xcuserdatad/xcschemes/xcschememanagement.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/RxClassRoomStep4/.DS_Store:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FrenchKit/RxClassroom/60ec25f8bd120e938c84392177d3afd095f08cfd/RxClassRoomStep4/.DS_Store
--------------------------------------------------------------------------------
/RxClassRoomStep4/.idea/encodings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/RxClassRoomStep4/.idea/misc.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/RxClassRoomStep4/.idea/modules.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/RxClassRoomStep4/.idea/vcs.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/RxClassRoomStep4/.idea/xcode.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/RxClassRoomStep4/Podfile:
--------------------------------------------------------------------------------
1 | use_frameworks!
2 |
3 | target :RxClassroom do
4 | pod 'RxSwift'
5 | pod 'RxCocoa'
6 | pod 'Action'
7 | end
8 |
--------------------------------------------------------------------------------
/RxClassRoomStep4/Podfile.lock:
--------------------------------------------------------------------------------
1 | PODS:
2 | - Action (1.3.0):
3 | - RxCocoa (~> 2.6)
4 | - RxSwift (~> 2.6)
5 | - RxCocoa (2.6.0):
6 | - RxSwift (~> 2.5)
7 | - RxSwift (2.6.0)
8 |
9 | DEPENDENCIES:
10 | - Action
11 | - RxCocoa
12 | - RxSwift
13 |
14 | SPEC CHECKSUMS:
15 | Action: 09c900c05bfef2f422374dc97790429bddbd1bbc
16 | RxCocoa: 89ab00d5753502520227940e3a0e0a0413683c6b
17 | RxSwift: 77f3a0b15324baa7a1c9bfa9f199648a82424e26
18 |
19 | PODFILE CHECKSUM: 9a6b803cc55a7ac1457558f1794ed497be7611e8
20 |
21 | COCOAPODS: 1.0.1
22 |
--------------------------------------------------------------------------------
/RxClassRoomStep4/Pods/Manifest.lock:
--------------------------------------------------------------------------------
1 | PODS:
2 | - Action (1.3.0):
3 | - RxCocoa (~> 2.6)
4 | - RxSwift (~> 2.6)
5 | - RxCocoa (2.6.0):
6 | - RxSwift (~> 2.5)
7 | - RxSwift (2.6.0)
8 |
9 | DEPENDENCIES:
10 | - Action
11 | - RxCocoa
12 | - RxSwift
13 |
14 | SPEC CHECKSUMS:
15 | Action: 09c900c05bfef2f422374dc97790429bddbd1bbc
16 | RxCocoa: 89ab00d5753502520227940e3a0e0a0413683c6b
17 | RxSwift: 77f3a0b15324baa7a1c9bfa9f199648a82424e26
18 |
19 | PODFILE CHECKSUM: 9a6b803cc55a7ac1457558f1794ed497be7611e8
20 |
21 | COCOAPODS: 1.0.1
22 |
--------------------------------------------------------------------------------
/RxClassRoomStep4/Pods/RxCocoa/RxCocoa/Common/Observables/Implementations/DeallocObservable.swift:
--------------------------------------------------------------------------------
1 | //
2 | // DeallocObservable.swift
3 | // Rx
4 | //
5 | // Created by Krunoslav Zaher on 12/19/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 | #if !RX_NO_MODULE
11 | import RxSwift
12 | #endif
13 |
14 | class DeallocObservable {
15 | let _subject = ReplaySubject.create(bufferSize: 1)
16 |
17 | init() {
18 | }
19 |
20 | deinit {
21 | _subject.on(.Next(()))
22 | _subject.on(.Completed)
23 | }
24 | }
25 |
--------------------------------------------------------------------------------
/RxClassRoomStep4/Pods/RxCocoa/RxCocoa/Common/_RX.m:
--------------------------------------------------------------------------------
1 | //
2 | // _RX.m
3 | // RxCocoa
4 | //
5 | // Created by Krunoslav Zaher on 7/12/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | #import "_RX.h"
10 |
11 |
--------------------------------------------------------------------------------
/RxClassRoomStep4/Pods/RxCocoa/RxCocoa/Common/_RXDelegateProxy.h:
--------------------------------------------------------------------------------
1 | //
2 | // _RXDelegateProxy.h
3 | // RxCocoa
4 | //
5 | // Created by Krunoslav Zaher on 7/4/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | @interface _RXDelegateProxy : NSObject
12 |
13 | @property (nonatomic, weak, readonly) id _forwardToDelegate;
14 |
15 | -(void)_setForwardToDelegate:(id)forwardToDelegate retainDelegate:(BOOL)retainDelegate;
16 |
17 | -(BOOL)hasWiredImplementationForSelector:(SEL)selector;
18 |
19 | -(void)interceptedSelector:(SEL)selector withArguments:(NSArray*)arguments;
20 |
21 | @end
22 |
--------------------------------------------------------------------------------
/RxClassRoomStep4/Pods/RxCocoa/RxCocoa/RxCocoa.h:
--------------------------------------------------------------------------------
1 | //
2 | // RxCocoa.h
3 | // RxCocoa
4 | //
5 | // Created by Krunoslav Zaher on 2/21/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | #import
10 | #import "_RX.h"
11 | #import "_RXDelegateProxy.h"
12 | #import "_RXKVOObserver.h"
13 | #import "_RXObjCRuntime.h"
14 |
15 | //! Project version number for RxCocoa.
16 | FOUNDATION_EXPORT double RxCocoaVersionNumber;
17 |
18 | //! Project version string for RxCocoa.
19 | FOUNDATION_EXPORT const unsigned char RxCocoaVersionString[];
--------------------------------------------------------------------------------
/RxClassRoomStep4/Pods/RxCocoa/RxCocoa/iOS/Events/ItemEvents.swift:
--------------------------------------------------------------------------------
1 | //
2 | // ItemEvents.swift
3 | // RxCocoa
4 | //
5 | // Created by Krunoslav Zaher on 6/20/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 | import UIKit
11 |
12 | #if os(iOS) || os(tvOS)
13 | public typealias ItemMovedEvent = (sourceIndex: NSIndexPath, destinationIndex: NSIndexPath)
14 | public typealias WillDisplayCellEvent = (cell: UITableViewCell, indexPath: NSIndexPath)
15 | public typealias DidEndDisplayingCellEvent = (cell: UITableViewCell, indexPath: NSIndexPath)
16 | #endif
--------------------------------------------------------------------------------
/RxClassRoomStep4/Pods/RxSwift/RxSwift/Cancelable.swift:
--------------------------------------------------------------------------------
1 | //
2 | // Cancelable.swift
3 | // Rx
4 | //
5 | // Created by Krunoslav Zaher on 3/12/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | /**
12 | Represents disposable resource with state tracking.
13 | */
14 | public protocol Cancelable : Disposable {
15 | /**
16 | - returns: Was resource disposed.
17 | */
18 | var disposed: Bool { get }
19 | }
--------------------------------------------------------------------------------
/RxClassRoomStep4/Pods/RxSwift/RxSwift/Concurrency/LockOwnerType.swift:
--------------------------------------------------------------------------------
1 | //
2 | // LockOwnerType.swift
3 | // Rx
4 | //
5 | // Created by Krunoslav Zaher on 10/25/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | protocol LockOwnerType : class, Lock {
12 | var _lock: NSRecursiveLock { get }
13 | }
14 |
15 | extension LockOwnerType {
16 | func lock() {
17 | _lock.lock()
18 | }
19 |
20 | func unlock() {
21 | _lock.unlock()
22 | }
23 | }
--------------------------------------------------------------------------------
/RxClassRoomStep4/Pods/RxSwift/RxSwift/Concurrency/SynchronizedDisposeType.swift:
--------------------------------------------------------------------------------
1 | //
2 | // SynchronizedDisposeType.swift
3 | // Rx
4 | //
5 | // Created by Krunoslav Zaher on 10/25/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | protocol SynchronizedDisposeType : class, Disposable, Lock {
12 | func _synchronized_dispose()
13 | }
14 |
15 | extension SynchronizedDisposeType {
16 | func synchronizedDispose() {
17 | lock(); defer { unlock() }
18 | _synchronized_dispose()
19 | }
20 | }
--------------------------------------------------------------------------------
/RxClassRoomStep4/Pods/RxSwift/RxSwift/Concurrency/SynchronizedOnType.swift:
--------------------------------------------------------------------------------
1 | //
2 | // SynchronizedOnType.swift
3 | // Rx
4 | //
5 | // Created by Krunoslav Zaher on 10/25/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | protocol SynchronizedOnType : class, ObserverType, Lock {
12 | func _synchronized_on(event: Event)
13 | }
14 |
15 | extension SynchronizedOnType {
16 | func synchronizedOn(event: Event) {
17 | lock(); defer { unlock() }
18 | _synchronized_on(event)
19 | }
20 | }
--------------------------------------------------------------------------------
/RxClassRoomStep4/Pods/RxSwift/RxSwift/Concurrency/SynchronizedUnsubscribeType.swift:
--------------------------------------------------------------------------------
1 | //
2 | // SynchronizedUnsubscribeType.swift
3 | // Rx
4 | //
5 | // Created by Krunoslav Zaher on 10/25/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | protocol SynchronizedUnsubscribeType : class {
12 | associatedtype DisposeKey
13 |
14 | func synchronizedUnsubscribe(disposeKey: DisposeKey)
15 | }
--------------------------------------------------------------------------------
/RxClassRoomStep4/Pods/RxSwift/RxSwift/Disposable.swift:
--------------------------------------------------------------------------------
1 | //
2 | // Disposable.swift
3 | // Rx
4 | //
5 | // Created by Krunoslav Zaher on 2/8/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | /// Respresents a disposable resource.
12 | public protocol Disposable {
13 | /// Dispose resource.
14 | func dispose()
15 | }
--------------------------------------------------------------------------------
/RxClassRoomStep4/Pods/RxSwift/RxSwift/Disposables/DisposeBase.swift:
--------------------------------------------------------------------------------
1 | //
2 | // DisposeBase.swift
3 | // Rx
4 | //
5 | // Created by Krunoslav Zaher on 4/4/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | /**
12 | Base class for all disposables.
13 | */
14 | public class DisposeBase {
15 | init() {
16 | #if TRACE_RESOURCES
17 | AtomicIncrement(&resourceCount)
18 | #endif
19 | }
20 |
21 | deinit {
22 | #if TRACE_RESOURCES
23 | AtomicDecrement(&resourceCount)
24 | #endif
25 | }
26 | }
--------------------------------------------------------------------------------
/RxClassRoomStep4/Pods/RxSwift/RxSwift/Disposables/NAryDisposable.swift:
--------------------------------------------------------------------------------
1 | // This file is autogenerated. Take a look at `Preprocessor` target in RxSwift project
2 | //
3 | // NAryDisposable.swift
4 | // RxSwift
5 | //
6 | // Created by Krunoslav Zaher on 8/20/15.
7 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
8 | //
9 |
10 | import Foundation
11 |
--------------------------------------------------------------------------------
/RxClassRoomStep4/Pods/RxSwift/RxSwift/Disposables/StableCompositeDisposable.swift:
--------------------------------------------------------------------------------
1 | //
2 | // StableCompositeDisposable.swift
3 | // RxSwift
4 | //
5 | // Created by Krunoslav Zaher on 6/12/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | public final class StableCompositeDisposable {
12 | public static func create(disposable1: Disposable, _ disposable2: Disposable) -> Disposable {
13 | return BinaryDisposable(disposable1, disposable2)
14 | }
15 | }
--------------------------------------------------------------------------------
/RxClassRoomStep4/Pods/RxSwift/RxSwift/Disposables/SubscriptionDisposable.swift:
--------------------------------------------------------------------------------
1 | //
2 | // SubscriptionDisposable.swift
3 | // Rx
4 | //
5 | // Created by Krunoslav Zaher on 10/25/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | struct SubscriptionDisposable : Disposable {
12 | private let _key: T.DisposeKey
13 | private weak var _owner: T?
14 |
15 | init(owner: T, key: T.DisposeKey) {
16 | _owner = owner
17 | _key = key
18 | }
19 |
20 | func dispose() {
21 | _owner?.synchronizedUnsubscribe(_key)
22 | }
23 | }
--------------------------------------------------------------------------------
/RxClassRoomStep4/Pods/RxSwift/RxSwift/Observables/Implementations/Empty.swift:
--------------------------------------------------------------------------------
1 | //
2 | // Empty.swift
3 | // Rx
4 | //
5 | // Created by Krunoslav Zaher on 8/30/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | class Empty : Producer {
12 | override func subscribe(observer: O) -> Disposable {
13 | observer.on(.Completed)
14 | return NopDisposable.instance
15 | }
16 | }
--------------------------------------------------------------------------------
/RxClassRoomStep4/Pods/RxSwift/RxSwift/Observables/Implementations/Error.swift:
--------------------------------------------------------------------------------
1 | //
2 | // Error.swift
3 | // Rx
4 | //
5 | // Created by Krunoslav Zaher on 8/30/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | class Error : Producer {
12 | private let _error: ErrorType
13 |
14 | init(error: ErrorType) {
15 | _error = error
16 | }
17 |
18 | override func subscribe(observer: O) -> Disposable {
19 | observer.on(.Error(_error))
20 | return NopDisposable.instance
21 | }
22 | }
--------------------------------------------------------------------------------
/RxClassRoomStep4/Pods/RxSwift/RxSwift/Observables/Implementations/Never.swift:
--------------------------------------------------------------------------------
1 | //
2 | // Never.swift
3 | // Rx
4 | //
5 | // Created by Krunoslav Zaher on 8/30/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | class Never : Producer {
12 | override func subscribe(observer: O) -> Disposable {
13 | return NopDisposable.instance
14 | }
15 | }
--------------------------------------------------------------------------------
/RxClassRoomStep4/Pods/RxSwift/RxSwift/Schedulers/Internal/AnonymousInvocable.swift:
--------------------------------------------------------------------------------
1 | //
2 | // AnonymousInvocable.swift
3 | // Rx
4 | //
5 | // Created by Krunoslav Zaher on 11/7/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | struct AnonymousInvocable : InvocableType {
12 | private let _action: () -> ()
13 |
14 | init(_ action: () -> ()) {
15 | _action = action
16 | }
17 |
18 | func invoke() {
19 | _action()
20 | }
21 | }
--------------------------------------------------------------------------------
/RxClassRoomStep4/Pods/RxSwift/RxSwift/Schedulers/Internal/InvocableScheduledItem.swift:
--------------------------------------------------------------------------------
1 | //
2 | // InvocableScheduledItem.swift
3 | // Rx
4 | //
5 | // Created by Krunoslav Zaher on 11/7/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | struct InvocableScheduledItem : InvocableType {
12 |
13 | let _invocable: I
14 | let _state: I.Value
15 |
16 | init(invocable: I, state: I.Value) {
17 | _invocable = invocable
18 | _state = state
19 | }
20 |
21 | func invoke() {
22 | _invocable.invoke(_state)
23 | }
24 | }
--------------------------------------------------------------------------------
/RxClassRoomStep4/Pods/RxSwift/RxSwift/Schedulers/Internal/InvocableType.swift:
--------------------------------------------------------------------------------
1 | //
2 | // InvocableType.swift
3 | // Rx
4 | //
5 | // Created by Krunoslav Zaher on 11/7/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | protocol InvocableType {
12 | func invoke()
13 | }
14 |
15 | protocol InvocableWithValueType {
16 | associatedtype Value
17 |
18 | func invoke(value: Value)
19 | }
--------------------------------------------------------------------------------
/RxClassRoomStep4/Pods/RxSwift/RxSwift/Schedulers/Internal/ScheduledItemType.swift:
--------------------------------------------------------------------------------
1 | //
2 | // ScheduledItemType.swift
3 | // Rx
4 | //
5 | // Created by Krunoslav Zaher on 11/7/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | protocol ScheduledItemType
12 | : Cancelable
13 | , InvocableType {
14 | func invoke()
15 | }
16 |
--------------------------------------------------------------------------------
/RxClassRoomStep4/Pods/Target Support Files/Action/Action-dummy.m:
--------------------------------------------------------------------------------
1 | #import
2 | @interface PodsDummy_Action : NSObject
3 | @end
4 | @implementation PodsDummy_Action
5 | @end
6 |
--------------------------------------------------------------------------------
/RxClassRoomStep4/Pods/Target Support Files/Action/Action-prefix.pch:
--------------------------------------------------------------------------------
1 | #ifdef __OBJC__
2 | #import
3 | #endif
4 |
5 |
--------------------------------------------------------------------------------
/RxClassRoomStep4/Pods/Target Support Files/Action/Action-umbrella.h:
--------------------------------------------------------------------------------
1 | #import
2 |
3 |
4 | FOUNDATION_EXPORT double ActionVersionNumber;
5 | FOUNDATION_EXPORT const unsigned char ActionVersionString[];
6 |
7 |
--------------------------------------------------------------------------------
/RxClassRoomStep4/Pods/Target Support Files/Action/Action.modulemap:
--------------------------------------------------------------------------------
1 | framework module Action {
2 | umbrella header "Action-umbrella.h"
3 |
4 | export *
5 | module * { export * }
6 | }
7 |
--------------------------------------------------------------------------------
/RxClassRoomStep4/Pods/Target Support Files/Pods-RxClassroom/Pods-RxClassroom-dummy.m:
--------------------------------------------------------------------------------
1 | #import
2 | @interface PodsDummy_Pods_RxClassroom : NSObject
3 | @end
4 | @implementation PodsDummy_Pods_RxClassroom
5 | @end
6 |
--------------------------------------------------------------------------------
/RxClassRoomStep4/Pods/Target Support Files/Pods-RxClassroom/Pods-RxClassroom-umbrella.h:
--------------------------------------------------------------------------------
1 | #import
2 |
3 |
4 | FOUNDATION_EXPORT double Pods_RxClassroomVersionNumber;
5 | FOUNDATION_EXPORT const unsigned char Pods_RxClassroomVersionString[];
6 |
7 |
--------------------------------------------------------------------------------
/RxClassRoomStep4/Pods/Target Support Files/Pods-RxClassroom/Pods-RxClassroom.modulemap:
--------------------------------------------------------------------------------
1 | framework module Pods_RxClassroom {
2 | umbrella header "Pods-RxClassroom-umbrella.h"
3 |
4 | export *
5 | module * { export * }
6 | }
7 |
--------------------------------------------------------------------------------
/RxClassRoomStep4/Pods/Target Support Files/RxCocoa/RxCocoa-dummy.m:
--------------------------------------------------------------------------------
1 | #import
2 | @interface PodsDummy_RxCocoa : NSObject
3 | @end
4 | @implementation PodsDummy_RxCocoa
5 | @end
6 |
--------------------------------------------------------------------------------
/RxClassRoomStep4/Pods/Target Support Files/RxCocoa/RxCocoa-prefix.pch:
--------------------------------------------------------------------------------
1 | #ifdef __OBJC__
2 | #import
3 | #endif
4 |
5 |
--------------------------------------------------------------------------------
/RxClassRoomStep4/Pods/Target Support Files/RxCocoa/RxCocoa-umbrella.h:
--------------------------------------------------------------------------------
1 | #import
2 |
3 | #import "RxCocoa.h"
4 | #import "_RX.h"
5 | #import "_RXDelegateProxy.h"
6 | #import "_RXKVOObserver.h"
7 | #import "_RXObjCRuntime.h"
8 |
9 | FOUNDATION_EXPORT double RxCocoaVersionNumber;
10 | FOUNDATION_EXPORT const unsigned char RxCocoaVersionString[];
11 |
12 |
--------------------------------------------------------------------------------
/RxClassRoomStep4/Pods/Target Support Files/RxCocoa/RxCocoa.modulemap:
--------------------------------------------------------------------------------
1 | framework module RxCocoa {
2 | umbrella header "RxCocoa-umbrella.h"
3 |
4 | export *
5 | module * { export * }
6 | }
7 |
--------------------------------------------------------------------------------
/RxClassRoomStep4/Pods/Target Support Files/RxCocoa/RxCocoa.xcconfig:
--------------------------------------------------------------------------------
1 | CONFIGURATION_BUILD_DIR = $PODS_CONFIGURATION_BUILD_DIR/RxCocoa
2 | FRAMEWORK_SEARCH_PATHS = $(inherited) "$PODS_CONFIGURATION_BUILD_DIR/RxSwift"
3 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
4 | HEADER_SEARCH_PATHS = "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Public"
5 | OTHER_SWIFT_FLAGS = $(inherited) "-D" "COCOAPODS"
6 | PODS_BUILD_DIR = $BUILD_DIR
7 | PODS_CONFIGURATION_BUILD_DIR = $PODS_BUILD_DIR/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
8 | PODS_ROOT = ${SRCROOT}
9 | PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier}
10 | SKIP_INSTALL = YES
11 |
--------------------------------------------------------------------------------
/RxClassRoomStep4/Pods/Target Support Files/RxSwift/RxSwift-dummy.m:
--------------------------------------------------------------------------------
1 | #import
2 | @interface PodsDummy_RxSwift : NSObject
3 | @end
4 | @implementation PodsDummy_RxSwift
5 | @end
6 |
--------------------------------------------------------------------------------
/RxClassRoomStep4/Pods/Target Support Files/RxSwift/RxSwift-prefix.pch:
--------------------------------------------------------------------------------
1 | #ifdef __OBJC__
2 | #import
3 | #endif
4 |
5 |
--------------------------------------------------------------------------------
/RxClassRoomStep4/Pods/Target Support Files/RxSwift/RxSwift-umbrella.h:
--------------------------------------------------------------------------------
1 | #import
2 |
3 |
4 | FOUNDATION_EXPORT double RxSwiftVersionNumber;
5 | FOUNDATION_EXPORT const unsigned char RxSwiftVersionString[];
6 |
7 |
--------------------------------------------------------------------------------
/RxClassRoomStep4/Pods/Target Support Files/RxSwift/RxSwift.modulemap:
--------------------------------------------------------------------------------
1 | framework module RxSwift {
2 | umbrella header "RxSwift-umbrella.h"
3 |
4 | export *
5 | module * { export * }
6 | }
7 |
--------------------------------------------------------------------------------
/RxClassRoomStep4/Pods/Target Support Files/RxSwift/RxSwift.xcconfig:
--------------------------------------------------------------------------------
1 | CONFIGURATION_BUILD_DIR = $PODS_CONFIGURATION_BUILD_DIR/RxSwift
2 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
3 | HEADER_SEARCH_PATHS = "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Public"
4 | OTHER_SWIFT_FLAGS = $(inherited) "-D" "COCOAPODS"
5 | PODS_BUILD_DIR = $BUILD_DIR
6 | PODS_CONFIGURATION_BUILD_DIR = $PODS_BUILD_DIR/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
7 | PODS_ROOT = ${SRCROOT}
8 | PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier}
9 | SKIP_INSTALL = YES
10 |
--------------------------------------------------------------------------------
/RxClassRoomStep4/RxClassroom.xcodeproj/project.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/RxClassRoomStep4/RxClassroom.xcodeproj/project.xcworkspace/xcuserdata/fpillet.xcuserdatad/UserInterfaceState.xcuserstate:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FrenchKit/RxClassroom/60ec25f8bd120e938c84392177d3afd095f08cfd/RxClassRoomStep4/RxClassroom.xcodeproj/project.xcworkspace/xcuserdata/fpillet.xcuserdatad/UserInterfaceState.xcuserstate
--------------------------------------------------------------------------------
/RxClassRoomStep4/RxClassroom.xcodeproj/project.xcworkspace/xcuserdata/fpillet.xcuserdatad/xcschemes/xcschememanagement.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/RxClassRoomStep4/RxClassroom.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/RxClassRoomStep4/RxClassroom.xcworkspace/xcuserdata/fpillet.xcuserdatad/UserInterfaceState.xcuserstate:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FrenchKit/RxClassroom/60ec25f8bd120e938c84392177d3afd095f08cfd/RxClassRoomStep4/RxClassroom.xcworkspace/xcuserdata/fpillet.xcuserdatad/UserInterfaceState.xcuserstate
--------------------------------------------------------------------------------
/RxClassRoomStep4/RxClassroom.xcworkspace/xcuserdata/fpillet.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist:
--------------------------------------------------------------------------------
1 |
2 |
5 |
6 |
--------------------------------------------------------------------------------
/RxClassRoomStep4/RxClassroom.xcworkspace/xcuserdata/fpillet.xcuserdatad/xcschemes/xcschememanagement.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/RxClassRoomStep5/.DS_Store:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FrenchKit/RxClassroom/60ec25f8bd120e938c84392177d3afd095f08cfd/RxClassRoomStep5/.DS_Store
--------------------------------------------------------------------------------
/RxClassRoomStep5/.idea/encodings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/RxClassRoomStep5/.idea/misc.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/RxClassRoomStep5/.idea/modules.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/RxClassRoomStep5/.idea/vcs.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/RxClassRoomStep5/.idea/xcode.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/RxClassRoomStep5/Podfile:
--------------------------------------------------------------------------------
1 | use_frameworks!
2 |
3 | target :RxClassroom do
4 | pod 'RxSwift'
5 | pod 'RxCocoa'
6 | pod 'Action'
7 | end
8 |
--------------------------------------------------------------------------------
/RxClassRoomStep5/Podfile.lock:
--------------------------------------------------------------------------------
1 | PODS:
2 | - Action (1.3.0):
3 | - RxCocoa (~> 2.6)
4 | - RxSwift (~> 2.6)
5 | - RxCocoa (2.6.0):
6 | - RxSwift (~> 2.5)
7 | - RxSwift (2.6.0)
8 |
9 | DEPENDENCIES:
10 | - Action
11 | - RxCocoa
12 | - RxSwift
13 |
14 | SPEC CHECKSUMS:
15 | Action: 09c900c05bfef2f422374dc97790429bddbd1bbc
16 | RxCocoa: 89ab00d5753502520227940e3a0e0a0413683c6b
17 | RxSwift: 77f3a0b15324baa7a1c9bfa9f199648a82424e26
18 |
19 | PODFILE CHECKSUM: 9a6b803cc55a7ac1457558f1794ed497be7611e8
20 |
21 | COCOAPODS: 1.0.1
22 |
--------------------------------------------------------------------------------
/RxClassRoomStep5/Pods/Manifest.lock:
--------------------------------------------------------------------------------
1 | PODS:
2 | - Action (1.3.0):
3 | - RxCocoa (~> 2.6)
4 | - RxSwift (~> 2.6)
5 | - RxCocoa (2.6.0):
6 | - RxSwift (~> 2.5)
7 | - RxSwift (2.6.0)
8 |
9 | DEPENDENCIES:
10 | - Action
11 | - RxCocoa
12 | - RxSwift
13 |
14 | SPEC CHECKSUMS:
15 | Action: 09c900c05bfef2f422374dc97790429bddbd1bbc
16 | RxCocoa: 89ab00d5753502520227940e3a0e0a0413683c6b
17 | RxSwift: 77f3a0b15324baa7a1c9bfa9f199648a82424e26
18 |
19 | PODFILE CHECKSUM: 9a6b803cc55a7ac1457558f1794ed497be7611e8
20 |
21 | COCOAPODS: 1.0.1
22 |
--------------------------------------------------------------------------------
/RxClassRoomStep5/Pods/RxCocoa/RxCocoa/Common/Observables/Implementations/DeallocObservable.swift:
--------------------------------------------------------------------------------
1 | //
2 | // DeallocObservable.swift
3 | // Rx
4 | //
5 | // Created by Krunoslav Zaher on 12/19/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 | #if !RX_NO_MODULE
11 | import RxSwift
12 | #endif
13 |
14 | class DeallocObservable {
15 | let _subject = ReplaySubject.create(bufferSize: 1)
16 |
17 | init() {
18 | }
19 |
20 | deinit {
21 | _subject.on(.Next(()))
22 | _subject.on(.Completed)
23 | }
24 | }
25 |
--------------------------------------------------------------------------------
/RxClassRoomStep5/Pods/RxCocoa/RxCocoa/Common/_RX.m:
--------------------------------------------------------------------------------
1 | //
2 | // _RX.m
3 | // RxCocoa
4 | //
5 | // Created by Krunoslav Zaher on 7/12/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | #import "_RX.h"
10 |
11 |
--------------------------------------------------------------------------------
/RxClassRoomStep5/Pods/RxCocoa/RxCocoa/Common/_RXDelegateProxy.h:
--------------------------------------------------------------------------------
1 | //
2 | // _RXDelegateProxy.h
3 | // RxCocoa
4 | //
5 | // Created by Krunoslav Zaher on 7/4/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | @interface _RXDelegateProxy : NSObject
12 |
13 | @property (nonatomic, weak, readonly) id _forwardToDelegate;
14 |
15 | -(void)_setForwardToDelegate:(id)forwardToDelegate retainDelegate:(BOOL)retainDelegate;
16 |
17 | -(BOOL)hasWiredImplementationForSelector:(SEL)selector;
18 |
19 | -(void)interceptedSelector:(SEL)selector withArguments:(NSArray*)arguments;
20 |
21 | @end
22 |
--------------------------------------------------------------------------------
/RxClassRoomStep5/Pods/RxCocoa/RxCocoa/RxCocoa.h:
--------------------------------------------------------------------------------
1 | //
2 | // RxCocoa.h
3 | // RxCocoa
4 | //
5 | // Created by Krunoslav Zaher on 2/21/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | #import
10 | #import "_RX.h"
11 | #import "_RXDelegateProxy.h"
12 | #import "_RXKVOObserver.h"
13 | #import "_RXObjCRuntime.h"
14 |
15 | //! Project version number for RxCocoa.
16 | FOUNDATION_EXPORT double RxCocoaVersionNumber;
17 |
18 | //! Project version string for RxCocoa.
19 | FOUNDATION_EXPORT const unsigned char RxCocoaVersionString[];
--------------------------------------------------------------------------------
/RxClassRoomStep5/Pods/RxCocoa/RxCocoa/iOS/Events/ItemEvents.swift:
--------------------------------------------------------------------------------
1 | //
2 | // ItemEvents.swift
3 | // RxCocoa
4 | //
5 | // Created by Krunoslav Zaher on 6/20/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 | import UIKit
11 |
12 | #if os(iOS) || os(tvOS)
13 | public typealias ItemMovedEvent = (sourceIndex: NSIndexPath, destinationIndex: NSIndexPath)
14 | public typealias WillDisplayCellEvent = (cell: UITableViewCell, indexPath: NSIndexPath)
15 | public typealias DidEndDisplayingCellEvent = (cell: UITableViewCell, indexPath: NSIndexPath)
16 | #endif
--------------------------------------------------------------------------------
/RxClassRoomStep5/Pods/RxSwift/RxSwift/Cancelable.swift:
--------------------------------------------------------------------------------
1 | //
2 | // Cancelable.swift
3 | // Rx
4 | //
5 | // Created by Krunoslav Zaher on 3/12/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | /**
12 | Represents disposable resource with state tracking.
13 | */
14 | public protocol Cancelable : Disposable {
15 | /**
16 | - returns: Was resource disposed.
17 | */
18 | var disposed: Bool { get }
19 | }
--------------------------------------------------------------------------------
/RxClassRoomStep5/Pods/RxSwift/RxSwift/Concurrency/LockOwnerType.swift:
--------------------------------------------------------------------------------
1 | //
2 | // LockOwnerType.swift
3 | // Rx
4 | //
5 | // Created by Krunoslav Zaher on 10/25/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | protocol LockOwnerType : class, Lock {
12 | var _lock: NSRecursiveLock { get }
13 | }
14 |
15 | extension LockOwnerType {
16 | func lock() {
17 | _lock.lock()
18 | }
19 |
20 | func unlock() {
21 | _lock.unlock()
22 | }
23 | }
--------------------------------------------------------------------------------
/RxClassRoomStep5/Pods/RxSwift/RxSwift/Concurrency/SynchronizedDisposeType.swift:
--------------------------------------------------------------------------------
1 | //
2 | // SynchronizedDisposeType.swift
3 | // Rx
4 | //
5 | // Created by Krunoslav Zaher on 10/25/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | protocol SynchronizedDisposeType : class, Disposable, Lock {
12 | func _synchronized_dispose()
13 | }
14 |
15 | extension SynchronizedDisposeType {
16 | func synchronizedDispose() {
17 | lock(); defer { unlock() }
18 | _synchronized_dispose()
19 | }
20 | }
--------------------------------------------------------------------------------
/RxClassRoomStep5/Pods/RxSwift/RxSwift/Concurrency/SynchronizedOnType.swift:
--------------------------------------------------------------------------------
1 | //
2 | // SynchronizedOnType.swift
3 | // Rx
4 | //
5 | // Created by Krunoslav Zaher on 10/25/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | protocol SynchronizedOnType : class, ObserverType, Lock {
12 | func _synchronized_on(event: Event)
13 | }
14 |
15 | extension SynchronizedOnType {
16 | func synchronizedOn(event: Event) {
17 | lock(); defer { unlock() }
18 | _synchronized_on(event)
19 | }
20 | }
--------------------------------------------------------------------------------
/RxClassRoomStep5/Pods/RxSwift/RxSwift/Concurrency/SynchronizedUnsubscribeType.swift:
--------------------------------------------------------------------------------
1 | //
2 | // SynchronizedUnsubscribeType.swift
3 | // Rx
4 | //
5 | // Created by Krunoslav Zaher on 10/25/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | protocol SynchronizedUnsubscribeType : class {
12 | associatedtype DisposeKey
13 |
14 | func synchronizedUnsubscribe(disposeKey: DisposeKey)
15 | }
--------------------------------------------------------------------------------
/RxClassRoomStep5/Pods/RxSwift/RxSwift/Disposable.swift:
--------------------------------------------------------------------------------
1 | //
2 | // Disposable.swift
3 | // Rx
4 | //
5 | // Created by Krunoslav Zaher on 2/8/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | /// Respresents a disposable resource.
12 | public protocol Disposable {
13 | /// Dispose resource.
14 | func dispose()
15 | }
--------------------------------------------------------------------------------
/RxClassRoomStep5/Pods/RxSwift/RxSwift/Disposables/DisposeBase.swift:
--------------------------------------------------------------------------------
1 | //
2 | // DisposeBase.swift
3 | // Rx
4 | //
5 | // Created by Krunoslav Zaher on 4/4/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | /**
12 | Base class for all disposables.
13 | */
14 | public class DisposeBase {
15 | init() {
16 | #if TRACE_RESOURCES
17 | AtomicIncrement(&resourceCount)
18 | #endif
19 | }
20 |
21 | deinit {
22 | #if TRACE_RESOURCES
23 | AtomicDecrement(&resourceCount)
24 | #endif
25 | }
26 | }
--------------------------------------------------------------------------------
/RxClassRoomStep5/Pods/RxSwift/RxSwift/Disposables/NAryDisposable.swift:
--------------------------------------------------------------------------------
1 | // This file is autogenerated. Take a look at `Preprocessor` target in RxSwift project
2 | //
3 | // NAryDisposable.swift
4 | // RxSwift
5 | //
6 | // Created by Krunoslav Zaher on 8/20/15.
7 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
8 | //
9 |
10 | import Foundation
11 |
--------------------------------------------------------------------------------
/RxClassRoomStep5/Pods/RxSwift/RxSwift/Disposables/StableCompositeDisposable.swift:
--------------------------------------------------------------------------------
1 | //
2 | // StableCompositeDisposable.swift
3 | // RxSwift
4 | //
5 | // Created by Krunoslav Zaher on 6/12/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | public final class StableCompositeDisposable {
12 | public static func create(disposable1: Disposable, _ disposable2: Disposable) -> Disposable {
13 | return BinaryDisposable(disposable1, disposable2)
14 | }
15 | }
--------------------------------------------------------------------------------
/RxClassRoomStep5/Pods/RxSwift/RxSwift/Disposables/SubscriptionDisposable.swift:
--------------------------------------------------------------------------------
1 | //
2 | // SubscriptionDisposable.swift
3 | // Rx
4 | //
5 | // Created by Krunoslav Zaher on 10/25/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | struct SubscriptionDisposable : Disposable {
12 | private let _key: T.DisposeKey
13 | private weak var _owner: T?
14 |
15 | init(owner: T, key: T.DisposeKey) {
16 | _owner = owner
17 | _key = key
18 | }
19 |
20 | func dispose() {
21 | _owner?.synchronizedUnsubscribe(_key)
22 | }
23 | }
--------------------------------------------------------------------------------
/RxClassRoomStep5/Pods/RxSwift/RxSwift/Observables/Implementations/Empty.swift:
--------------------------------------------------------------------------------
1 | //
2 | // Empty.swift
3 | // Rx
4 | //
5 | // Created by Krunoslav Zaher on 8/30/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | class Empty : Producer {
12 | override func subscribe(observer: O) -> Disposable {
13 | observer.on(.Completed)
14 | return NopDisposable.instance
15 | }
16 | }
--------------------------------------------------------------------------------
/RxClassRoomStep5/Pods/RxSwift/RxSwift/Observables/Implementations/Error.swift:
--------------------------------------------------------------------------------
1 | //
2 | // Error.swift
3 | // Rx
4 | //
5 | // Created by Krunoslav Zaher on 8/30/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | class Error : Producer {
12 | private let _error: ErrorType
13 |
14 | init(error: ErrorType) {
15 | _error = error
16 | }
17 |
18 | override func subscribe(observer: O) -> Disposable {
19 | observer.on(.Error(_error))
20 | return NopDisposable.instance
21 | }
22 | }
--------------------------------------------------------------------------------
/RxClassRoomStep5/Pods/RxSwift/RxSwift/Observables/Implementations/Never.swift:
--------------------------------------------------------------------------------
1 | //
2 | // Never.swift
3 | // Rx
4 | //
5 | // Created by Krunoslav Zaher on 8/30/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | class Never : Producer {
12 | override func subscribe(observer: O) -> Disposable {
13 | return NopDisposable.instance
14 | }
15 | }
--------------------------------------------------------------------------------
/RxClassRoomStep5/Pods/RxSwift/RxSwift/Schedulers/Internal/AnonymousInvocable.swift:
--------------------------------------------------------------------------------
1 | //
2 | // AnonymousInvocable.swift
3 | // Rx
4 | //
5 | // Created by Krunoslav Zaher on 11/7/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | struct AnonymousInvocable : InvocableType {
12 | private let _action: () -> ()
13 |
14 | init(_ action: () -> ()) {
15 | _action = action
16 | }
17 |
18 | func invoke() {
19 | _action()
20 | }
21 | }
--------------------------------------------------------------------------------
/RxClassRoomStep5/Pods/RxSwift/RxSwift/Schedulers/Internal/InvocableScheduledItem.swift:
--------------------------------------------------------------------------------
1 | //
2 | // InvocableScheduledItem.swift
3 | // Rx
4 | //
5 | // Created by Krunoslav Zaher on 11/7/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | struct InvocableScheduledItem : InvocableType {
12 |
13 | let _invocable: I
14 | let _state: I.Value
15 |
16 | init(invocable: I, state: I.Value) {
17 | _invocable = invocable
18 | _state = state
19 | }
20 |
21 | func invoke() {
22 | _invocable.invoke(_state)
23 | }
24 | }
--------------------------------------------------------------------------------
/RxClassRoomStep5/Pods/RxSwift/RxSwift/Schedulers/Internal/InvocableType.swift:
--------------------------------------------------------------------------------
1 | //
2 | // InvocableType.swift
3 | // Rx
4 | //
5 | // Created by Krunoslav Zaher on 11/7/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | protocol InvocableType {
12 | func invoke()
13 | }
14 |
15 | protocol InvocableWithValueType {
16 | associatedtype Value
17 |
18 | func invoke(value: Value)
19 | }
--------------------------------------------------------------------------------
/RxClassRoomStep5/Pods/RxSwift/RxSwift/Schedulers/Internal/ScheduledItemType.swift:
--------------------------------------------------------------------------------
1 | //
2 | // ScheduledItemType.swift
3 | // Rx
4 | //
5 | // Created by Krunoslav Zaher on 11/7/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | protocol ScheduledItemType
12 | : Cancelable
13 | , InvocableType {
14 | func invoke()
15 | }
16 |
--------------------------------------------------------------------------------
/RxClassRoomStep5/Pods/Target Support Files/Action/Action-dummy.m:
--------------------------------------------------------------------------------
1 | #import
2 | @interface PodsDummy_Action : NSObject
3 | @end
4 | @implementation PodsDummy_Action
5 | @end
6 |
--------------------------------------------------------------------------------
/RxClassRoomStep5/Pods/Target Support Files/Action/Action-prefix.pch:
--------------------------------------------------------------------------------
1 | #ifdef __OBJC__
2 | #import
3 | #endif
4 |
5 |
--------------------------------------------------------------------------------
/RxClassRoomStep5/Pods/Target Support Files/Action/Action-umbrella.h:
--------------------------------------------------------------------------------
1 | #import
2 |
3 |
4 | FOUNDATION_EXPORT double ActionVersionNumber;
5 | FOUNDATION_EXPORT const unsigned char ActionVersionString[];
6 |
7 |
--------------------------------------------------------------------------------
/RxClassRoomStep5/Pods/Target Support Files/Action/Action.modulemap:
--------------------------------------------------------------------------------
1 | framework module Action {
2 | umbrella header "Action-umbrella.h"
3 |
4 | export *
5 | module * { export * }
6 | }
7 |
--------------------------------------------------------------------------------
/RxClassRoomStep5/Pods/Target Support Files/Pods-RxClassroom/Pods-RxClassroom-dummy.m:
--------------------------------------------------------------------------------
1 | #import
2 | @interface PodsDummy_Pods_RxClassroom : NSObject
3 | @end
4 | @implementation PodsDummy_Pods_RxClassroom
5 | @end
6 |
--------------------------------------------------------------------------------
/RxClassRoomStep5/Pods/Target Support Files/Pods-RxClassroom/Pods-RxClassroom-umbrella.h:
--------------------------------------------------------------------------------
1 | #import
2 |
3 |
4 | FOUNDATION_EXPORT double Pods_RxClassroomVersionNumber;
5 | FOUNDATION_EXPORT const unsigned char Pods_RxClassroomVersionString[];
6 |
7 |
--------------------------------------------------------------------------------
/RxClassRoomStep5/Pods/Target Support Files/Pods-RxClassroom/Pods-RxClassroom.modulemap:
--------------------------------------------------------------------------------
1 | framework module Pods_RxClassroom {
2 | umbrella header "Pods-RxClassroom-umbrella.h"
3 |
4 | export *
5 | module * { export * }
6 | }
7 |
--------------------------------------------------------------------------------
/RxClassRoomStep5/Pods/Target Support Files/RxCocoa/RxCocoa-dummy.m:
--------------------------------------------------------------------------------
1 | #import
2 | @interface PodsDummy_RxCocoa : NSObject
3 | @end
4 | @implementation PodsDummy_RxCocoa
5 | @end
6 |
--------------------------------------------------------------------------------
/RxClassRoomStep5/Pods/Target Support Files/RxCocoa/RxCocoa-prefix.pch:
--------------------------------------------------------------------------------
1 | #ifdef __OBJC__
2 | #import
3 | #endif
4 |
5 |
--------------------------------------------------------------------------------
/RxClassRoomStep5/Pods/Target Support Files/RxCocoa/RxCocoa-umbrella.h:
--------------------------------------------------------------------------------
1 | #import
2 |
3 | #import "RxCocoa.h"
4 | #import "_RX.h"
5 | #import "_RXDelegateProxy.h"
6 | #import "_RXKVOObserver.h"
7 | #import "_RXObjCRuntime.h"
8 |
9 | FOUNDATION_EXPORT double RxCocoaVersionNumber;
10 | FOUNDATION_EXPORT const unsigned char RxCocoaVersionString[];
11 |
12 |
--------------------------------------------------------------------------------
/RxClassRoomStep5/Pods/Target Support Files/RxCocoa/RxCocoa.modulemap:
--------------------------------------------------------------------------------
1 | framework module RxCocoa {
2 | umbrella header "RxCocoa-umbrella.h"
3 |
4 | export *
5 | module * { export * }
6 | }
7 |
--------------------------------------------------------------------------------
/RxClassRoomStep5/Pods/Target Support Files/RxCocoa/RxCocoa.xcconfig:
--------------------------------------------------------------------------------
1 | CONFIGURATION_BUILD_DIR = $PODS_CONFIGURATION_BUILD_DIR/RxCocoa
2 | FRAMEWORK_SEARCH_PATHS = $(inherited) "$PODS_CONFIGURATION_BUILD_DIR/RxSwift"
3 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
4 | HEADER_SEARCH_PATHS = "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Public"
5 | OTHER_SWIFT_FLAGS = $(inherited) "-D" "COCOAPODS"
6 | PODS_BUILD_DIR = $BUILD_DIR
7 | PODS_CONFIGURATION_BUILD_DIR = $PODS_BUILD_DIR/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
8 | PODS_ROOT = ${SRCROOT}
9 | PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier}
10 | SKIP_INSTALL = YES
11 |
--------------------------------------------------------------------------------
/RxClassRoomStep5/Pods/Target Support Files/RxSwift/RxSwift-dummy.m:
--------------------------------------------------------------------------------
1 | #import
2 | @interface PodsDummy_RxSwift : NSObject
3 | @end
4 | @implementation PodsDummy_RxSwift
5 | @end
6 |
--------------------------------------------------------------------------------
/RxClassRoomStep5/Pods/Target Support Files/RxSwift/RxSwift-prefix.pch:
--------------------------------------------------------------------------------
1 | #ifdef __OBJC__
2 | #import
3 | #endif
4 |
5 |
--------------------------------------------------------------------------------
/RxClassRoomStep5/Pods/Target Support Files/RxSwift/RxSwift-umbrella.h:
--------------------------------------------------------------------------------
1 | #import
2 |
3 |
4 | FOUNDATION_EXPORT double RxSwiftVersionNumber;
5 | FOUNDATION_EXPORT const unsigned char RxSwiftVersionString[];
6 |
7 |
--------------------------------------------------------------------------------
/RxClassRoomStep5/Pods/Target Support Files/RxSwift/RxSwift.modulemap:
--------------------------------------------------------------------------------
1 | framework module RxSwift {
2 | umbrella header "RxSwift-umbrella.h"
3 |
4 | export *
5 | module * { export * }
6 | }
7 |
--------------------------------------------------------------------------------
/RxClassRoomStep5/Pods/Target Support Files/RxSwift/RxSwift.xcconfig:
--------------------------------------------------------------------------------
1 | CONFIGURATION_BUILD_DIR = $PODS_CONFIGURATION_BUILD_DIR/RxSwift
2 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
3 | HEADER_SEARCH_PATHS = "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Public"
4 | OTHER_SWIFT_FLAGS = $(inherited) "-D" "COCOAPODS"
5 | PODS_BUILD_DIR = $BUILD_DIR
6 | PODS_CONFIGURATION_BUILD_DIR = $PODS_BUILD_DIR/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
7 | PODS_ROOT = ${SRCROOT}
8 | PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier}
9 | SKIP_INSTALL = YES
10 |
--------------------------------------------------------------------------------
/RxClassRoomStep5/RxClassroom.xcodeproj/project.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/RxClassRoomStep5/RxClassroom.xcodeproj/project.xcworkspace/xcuserdata/fpillet.xcuserdatad/UserInterfaceState.xcuserstate:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FrenchKit/RxClassroom/60ec25f8bd120e938c84392177d3afd095f08cfd/RxClassRoomStep5/RxClassroom.xcodeproj/project.xcworkspace/xcuserdata/fpillet.xcuserdatad/UserInterfaceState.xcuserstate
--------------------------------------------------------------------------------
/RxClassRoomStep5/RxClassroom.xcodeproj/project.xcworkspace/xcuserdata/fpillet.xcuserdatad/xcschemes/xcschememanagement.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/RxClassRoomStep5/RxClassroom.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/RxClassRoomStep5/RxClassroom.xcworkspace/xcuserdata/fpillet.xcuserdatad/UserInterfaceState.xcuserstate:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FrenchKit/RxClassroom/60ec25f8bd120e938c84392177d3afd095f08cfd/RxClassRoomStep5/RxClassroom.xcworkspace/xcuserdata/fpillet.xcuserdatad/UserInterfaceState.xcuserstate
--------------------------------------------------------------------------------
/RxClassRoomStep5/RxClassroom.xcworkspace/xcuserdata/fpillet.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist:
--------------------------------------------------------------------------------
1 |
2 |
5 |
6 |
--------------------------------------------------------------------------------
/RxClassRoomStep5/RxClassroom.xcworkspace/xcuserdata/fpillet.xcuserdatad/xcschemes/xcschememanagement.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/RxClassRoomStep5/RxClassroom/Weather.swift:
--------------------------------------------------------------------------------
1 | //
2 | // Weather.swift
3 | // RxClassroom
4 | //
5 |
6 | import Foundation
7 |
8 | enum Sky {
9 | case Clear
10 | case Windy
11 | case PartlyCloudy
12 | case Cloudy
13 | case Rainy
14 | }
15 |
16 | struct Conditions {
17 | let time : NSDate
18 | let temperature : Int
19 | let sky : Sky
20 | }
21 |
22 | struct Forecast {
23 | let city : String
24 | let forecast : [Conditions]
25 | }
26 |
--------------------------------------------------------------------------------
/RxClassRoomStep5/RxClassroom/WeatherServiceType.swift:
--------------------------------------------------------------------------------
1 | //
2 | // WeatherService.swift
3 | // RxClassroom
4 | //
5 |
6 | import Foundation
7 | import RxSwift
8 |
9 | protocol WeatherServiceType {
10 |
11 | func getForecast(city: String) -> Observable
12 |
13 | }
14 |
--------------------------------------------------------------------------------
/RxClassRoomStep6/.DS_Store:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FrenchKit/RxClassroom/60ec25f8bd120e938c84392177d3afd095f08cfd/RxClassRoomStep6/.DS_Store
--------------------------------------------------------------------------------
/RxClassRoomStep6/.idea/encodings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/RxClassRoomStep6/.idea/misc.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/RxClassRoomStep6/.idea/modules.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/RxClassRoomStep6/.idea/vcs.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/RxClassRoomStep6/.idea/xcode.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/RxClassRoomStep6/Podfile:
--------------------------------------------------------------------------------
1 | use_frameworks!
2 |
3 | target :RxClassroom do
4 | pod 'RxSwift'
5 | pod 'RxCocoa'
6 | pod 'Action'
7 | end
8 |
--------------------------------------------------------------------------------
/RxClassRoomStep6/Podfile.lock:
--------------------------------------------------------------------------------
1 | PODS:
2 | - Action (1.3.0):
3 | - RxCocoa (~> 2.6)
4 | - RxSwift (~> 2.6)
5 | - RxCocoa (2.6.0):
6 | - RxSwift (~> 2.5)
7 | - RxSwift (2.6.0)
8 |
9 | DEPENDENCIES:
10 | - Action
11 | - RxCocoa
12 | - RxSwift
13 |
14 | SPEC CHECKSUMS:
15 | Action: 09c900c05bfef2f422374dc97790429bddbd1bbc
16 | RxCocoa: 89ab00d5753502520227940e3a0e0a0413683c6b
17 | RxSwift: 77f3a0b15324baa7a1c9bfa9f199648a82424e26
18 |
19 | PODFILE CHECKSUM: 9a6b803cc55a7ac1457558f1794ed497be7611e8
20 |
21 | COCOAPODS: 1.0.1
22 |
--------------------------------------------------------------------------------
/RxClassRoomStep6/Pods/Manifest.lock:
--------------------------------------------------------------------------------
1 | PODS:
2 | - Action (1.3.0):
3 | - RxCocoa (~> 2.6)
4 | - RxSwift (~> 2.6)
5 | - RxCocoa (2.6.0):
6 | - RxSwift (~> 2.5)
7 | - RxSwift (2.6.0)
8 |
9 | DEPENDENCIES:
10 | - Action
11 | - RxCocoa
12 | - RxSwift
13 |
14 | SPEC CHECKSUMS:
15 | Action: 09c900c05bfef2f422374dc97790429bddbd1bbc
16 | RxCocoa: 89ab00d5753502520227940e3a0e0a0413683c6b
17 | RxSwift: 77f3a0b15324baa7a1c9bfa9f199648a82424e26
18 |
19 | PODFILE CHECKSUM: 9a6b803cc55a7ac1457558f1794ed497be7611e8
20 |
21 | COCOAPODS: 1.0.1
22 |
--------------------------------------------------------------------------------
/RxClassRoomStep6/Pods/RxCocoa/RxCocoa/Common/Observables/Implementations/DeallocObservable.swift:
--------------------------------------------------------------------------------
1 | //
2 | // DeallocObservable.swift
3 | // Rx
4 | //
5 | // Created by Krunoslav Zaher on 12/19/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 | #if !RX_NO_MODULE
11 | import RxSwift
12 | #endif
13 |
14 | class DeallocObservable {
15 | let _subject = ReplaySubject.create(bufferSize: 1)
16 |
17 | init() {
18 | }
19 |
20 | deinit {
21 | _subject.on(.Next(()))
22 | _subject.on(.Completed)
23 | }
24 | }
25 |
--------------------------------------------------------------------------------
/RxClassRoomStep6/Pods/RxCocoa/RxCocoa/Common/_RX.m:
--------------------------------------------------------------------------------
1 | //
2 | // _RX.m
3 | // RxCocoa
4 | //
5 | // Created by Krunoslav Zaher on 7/12/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | #import "_RX.h"
10 |
11 |
--------------------------------------------------------------------------------
/RxClassRoomStep6/Pods/RxCocoa/RxCocoa/Common/_RXDelegateProxy.h:
--------------------------------------------------------------------------------
1 | //
2 | // _RXDelegateProxy.h
3 | // RxCocoa
4 | //
5 | // Created by Krunoslav Zaher on 7/4/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | @interface _RXDelegateProxy : NSObject
12 |
13 | @property (nonatomic, weak, readonly) id _forwardToDelegate;
14 |
15 | -(void)_setForwardToDelegate:(id)forwardToDelegate retainDelegate:(BOOL)retainDelegate;
16 |
17 | -(BOOL)hasWiredImplementationForSelector:(SEL)selector;
18 |
19 | -(void)interceptedSelector:(SEL)selector withArguments:(NSArray*)arguments;
20 |
21 | @end
22 |
--------------------------------------------------------------------------------
/RxClassRoomStep6/Pods/RxCocoa/RxCocoa/RxCocoa.h:
--------------------------------------------------------------------------------
1 | //
2 | // RxCocoa.h
3 | // RxCocoa
4 | //
5 | // Created by Krunoslav Zaher on 2/21/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | #import
10 | #import "_RX.h"
11 | #import "_RXDelegateProxy.h"
12 | #import "_RXKVOObserver.h"
13 | #import "_RXObjCRuntime.h"
14 |
15 | //! Project version number for RxCocoa.
16 | FOUNDATION_EXPORT double RxCocoaVersionNumber;
17 |
18 | //! Project version string for RxCocoa.
19 | FOUNDATION_EXPORT const unsigned char RxCocoaVersionString[];
--------------------------------------------------------------------------------
/RxClassRoomStep6/Pods/RxCocoa/RxCocoa/iOS/Events/ItemEvents.swift:
--------------------------------------------------------------------------------
1 | //
2 | // ItemEvents.swift
3 | // RxCocoa
4 | //
5 | // Created by Krunoslav Zaher on 6/20/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 | import UIKit
11 |
12 | #if os(iOS) || os(tvOS)
13 | public typealias ItemMovedEvent = (sourceIndex: NSIndexPath, destinationIndex: NSIndexPath)
14 | public typealias WillDisplayCellEvent = (cell: UITableViewCell, indexPath: NSIndexPath)
15 | public typealias DidEndDisplayingCellEvent = (cell: UITableViewCell, indexPath: NSIndexPath)
16 | #endif
--------------------------------------------------------------------------------
/RxClassRoomStep6/Pods/RxSwift/RxSwift/Cancelable.swift:
--------------------------------------------------------------------------------
1 | //
2 | // Cancelable.swift
3 | // Rx
4 | //
5 | // Created by Krunoslav Zaher on 3/12/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | /**
12 | Represents disposable resource with state tracking.
13 | */
14 | public protocol Cancelable : Disposable {
15 | /**
16 | - returns: Was resource disposed.
17 | */
18 | var disposed: Bool { get }
19 | }
--------------------------------------------------------------------------------
/RxClassRoomStep6/Pods/RxSwift/RxSwift/Concurrency/LockOwnerType.swift:
--------------------------------------------------------------------------------
1 | //
2 | // LockOwnerType.swift
3 | // Rx
4 | //
5 | // Created by Krunoslav Zaher on 10/25/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | protocol LockOwnerType : class, Lock {
12 | var _lock: NSRecursiveLock { get }
13 | }
14 |
15 | extension LockOwnerType {
16 | func lock() {
17 | _lock.lock()
18 | }
19 |
20 | func unlock() {
21 | _lock.unlock()
22 | }
23 | }
--------------------------------------------------------------------------------
/RxClassRoomStep6/Pods/RxSwift/RxSwift/Concurrency/SynchronizedDisposeType.swift:
--------------------------------------------------------------------------------
1 | //
2 | // SynchronizedDisposeType.swift
3 | // Rx
4 | //
5 | // Created by Krunoslav Zaher on 10/25/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | protocol SynchronizedDisposeType : class, Disposable, Lock {
12 | func _synchronized_dispose()
13 | }
14 |
15 | extension SynchronizedDisposeType {
16 | func synchronizedDispose() {
17 | lock(); defer { unlock() }
18 | _synchronized_dispose()
19 | }
20 | }
--------------------------------------------------------------------------------
/RxClassRoomStep6/Pods/RxSwift/RxSwift/Concurrency/SynchronizedOnType.swift:
--------------------------------------------------------------------------------
1 | //
2 | // SynchronizedOnType.swift
3 | // Rx
4 | //
5 | // Created by Krunoslav Zaher on 10/25/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | protocol SynchronizedOnType : class, ObserverType, Lock {
12 | func _synchronized_on(event: Event)
13 | }
14 |
15 | extension SynchronizedOnType {
16 | func synchronizedOn(event: Event) {
17 | lock(); defer { unlock() }
18 | _synchronized_on(event)
19 | }
20 | }
--------------------------------------------------------------------------------
/RxClassRoomStep6/Pods/RxSwift/RxSwift/Concurrency/SynchronizedUnsubscribeType.swift:
--------------------------------------------------------------------------------
1 | //
2 | // SynchronizedUnsubscribeType.swift
3 | // Rx
4 | //
5 | // Created by Krunoslav Zaher on 10/25/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | protocol SynchronizedUnsubscribeType : class {
12 | associatedtype DisposeKey
13 |
14 | func synchronizedUnsubscribe(disposeKey: DisposeKey)
15 | }
--------------------------------------------------------------------------------
/RxClassRoomStep6/Pods/RxSwift/RxSwift/Disposable.swift:
--------------------------------------------------------------------------------
1 | //
2 | // Disposable.swift
3 | // Rx
4 | //
5 | // Created by Krunoslav Zaher on 2/8/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | /// Respresents a disposable resource.
12 | public protocol Disposable {
13 | /// Dispose resource.
14 | func dispose()
15 | }
--------------------------------------------------------------------------------
/RxClassRoomStep6/Pods/RxSwift/RxSwift/Disposables/DisposeBase.swift:
--------------------------------------------------------------------------------
1 | //
2 | // DisposeBase.swift
3 | // Rx
4 | //
5 | // Created by Krunoslav Zaher on 4/4/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | /**
12 | Base class for all disposables.
13 | */
14 | public class DisposeBase {
15 | init() {
16 | #if TRACE_RESOURCES
17 | AtomicIncrement(&resourceCount)
18 | #endif
19 | }
20 |
21 | deinit {
22 | #if TRACE_RESOURCES
23 | AtomicDecrement(&resourceCount)
24 | #endif
25 | }
26 | }
--------------------------------------------------------------------------------
/RxClassRoomStep6/Pods/RxSwift/RxSwift/Disposables/NAryDisposable.swift:
--------------------------------------------------------------------------------
1 | // This file is autogenerated. Take a look at `Preprocessor` target in RxSwift project
2 | //
3 | // NAryDisposable.swift
4 | // RxSwift
5 | //
6 | // Created by Krunoslav Zaher on 8/20/15.
7 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
8 | //
9 |
10 | import Foundation
11 |
--------------------------------------------------------------------------------
/RxClassRoomStep6/Pods/RxSwift/RxSwift/Disposables/StableCompositeDisposable.swift:
--------------------------------------------------------------------------------
1 | //
2 | // StableCompositeDisposable.swift
3 | // RxSwift
4 | //
5 | // Created by Krunoslav Zaher on 6/12/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | public final class StableCompositeDisposable {
12 | public static func create(disposable1: Disposable, _ disposable2: Disposable) -> Disposable {
13 | return BinaryDisposable(disposable1, disposable2)
14 | }
15 | }
--------------------------------------------------------------------------------
/RxClassRoomStep6/Pods/RxSwift/RxSwift/Disposables/SubscriptionDisposable.swift:
--------------------------------------------------------------------------------
1 | //
2 | // SubscriptionDisposable.swift
3 | // Rx
4 | //
5 | // Created by Krunoslav Zaher on 10/25/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | struct SubscriptionDisposable : Disposable {
12 | private let _key: T.DisposeKey
13 | private weak var _owner: T?
14 |
15 | init(owner: T, key: T.DisposeKey) {
16 | _owner = owner
17 | _key = key
18 | }
19 |
20 | func dispose() {
21 | _owner?.synchronizedUnsubscribe(_key)
22 | }
23 | }
--------------------------------------------------------------------------------
/RxClassRoomStep6/Pods/RxSwift/RxSwift/Observables/Implementations/Empty.swift:
--------------------------------------------------------------------------------
1 | //
2 | // Empty.swift
3 | // Rx
4 | //
5 | // Created by Krunoslav Zaher on 8/30/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | class Empty : Producer {
12 | override func subscribe(observer: O) -> Disposable {
13 | observer.on(.Completed)
14 | return NopDisposable.instance
15 | }
16 | }
--------------------------------------------------------------------------------
/RxClassRoomStep6/Pods/RxSwift/RxSwift/Observables/Implementations/Error.swift:
--------------------------------------------------------------------------------
1 | //
2 | // Error.swift
3 | // Rx
4 | //
5 | // Created by Krunoslav Zaher on 8/30/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | class Error : Producer {
12 | private let _error: ErrorType
13 |
14 | init(error: ErrorType) {
15 | _error = error
16 | }
17 |
18 | override func subscribe(observer: O) -> Disposable {
19 | observer.on(.Error(_error))
20 | return NopDisposable.instance
21 | }
22 | }
--------------------------------------------------------------------------------
/RxClassRoomStep6/Pods/RxSwift/RxSwift/Observables/Implementations/Never.swift:
--------------------------------------------------------------------------------
1 | //
2 | // Never.swift
3 | // Rx
4 | //
5 | // Created by Krunoslav Zaher on 8/30/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | class Never : Producer {
12 | override func subscribe(observer: O) -> Disposable {
13 | return NopDisposable.instance
14 | }
15 | }
--------------------------------------------------------------------------------
/RxClassRoomStep6/Pods/RxSwift/RxSwift/Schedulers/Internal/AnonymousInvocable.swift:
--------------------------------------------------------------------------------
1 | //
2 | // AnonymousInvocable.swift
3 | // Rx
4 | //
5 | // Created by Krunoslav Zaher on 11/7/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | struct AnonymousInvocable : InvocableType {
12 | private let _action: () -> ()
13 |
14 | init(_ action: () -> ()) {
15 | _action = action
16 | }
17 |
18 | func invoke() {
19 | _action()
20 | }
21 | }
--------------------------------------------------------------------------------
/RxClassRoomStep6/Pods/RxSwift/RxSwift/Schedulers/Internal/InvocableScheduledItem.swift:
--------------------------------------------------------------------------------
1 | //
2 | // InvocableScheduledItem.swift
3 | // Rx
4 | //
5 | // Created by Krunoslav Zaher on 11/7/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | struct InvocableScheduledItem : InvocableType {
12 |
13 | let _invocable: I
14 | let _state: I.Value
15 |
16 | init(invocable: I, state: I.Value) {
17 | _invocable = invocable
18 | _state = state
19 | }
20 |
21 | func invoke() {
22 | _invocable.invoke(_state)
23 | }
24 | }
--------------------------------------------------------------------------------
/RxClassRoomStep6/Pods/RxSwift/RxSwift/Schedulers/Internal/InvocableType.swift:
--------------------------------------------------------------------------------
1 | //
2 | // InvocableType.swift
3 | // Rx
4 | //
5 | // Created by Krunoslav Zaher on 11/7/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | protocol InvocableType {
12 | func invoke()
13 | }
14 |
15 | protocol InvocableWithValueType {
16 | associatedtype Value
17 |
18 | func invoke(value: Value)
19 | }
--------------------------------------------------------------------------------
/RxClassRoomStep6/Pods/RxSwift/RxSwift/Schedulers/Internal/ScheduledItemType.swift:
--------------------------------------------------------------------------------
1 | //
2 | // ScheduledItemType.swift
3 | // Rx
4 | //
5 | // Created by Krunoslav Zaher on 11/7/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | protocol ScheduledItemType
12 | : Cancelable
13 | , InvocableType {
14 | func invoke()
15 | }
16 |
--------------------------------------------------------------------------------
/RxClassRoomStep6/Pods/Target Support Files/Action/Action-dummy.m:
--------------------------------------------------------------------------------
1 | #import
2 | @interface PodsDummy_Action : NSObject
3 | @end
4 | @implementation PodsDummy_Action
5 | @end
6 |
--------------------------------------------------------------------------------
/RxClassRoomStep6/Pods/Target Support Files/Action/Action-prefix.pch:
--------------------------------------------------------------------------------
1 | #ifdef __OBJC__
2 | #import
3 | #endif
4 |
5 |
--------------------------------------------------------------------------------
/RxClassRoomStep6/Pods/Target Support Files/Action/Action-umbrella.h:
--------------------------------------------------------------------------------
1 | #import
2 |
3 |
4 | FOUNDATION_EXPORT double ActionVersionNumber;
5 | FOUNDATION_EXPORT const unsigned char ActionVersionString[];
6 |
7 |
--------------------------------------------------------------------------------
/RxClassRoomStep6/Pods/Target Support Files/Action/Action.modulemap:
--------------------------------------------------------------------------------
1 | framework module Action {
2 | umbrella header "Action-umbrella.h"
3 |
4 | export *
5 | module * { export * }
6 | }
7 |
--------------------------------------------------------------------------------
/RxClassRoomStep6/Pods/Target Support Files/Pods-RxClassroom/Pods-RxClassroom-dummy.m:
--------------------------------------------------------------------------------
1 | #import
2 | @interface PodsDummy_Pods_RxClassroom : NSObject
3 | @end
4 | @implementation PodsDummy_Pods_RxClassroom
5 | @end
6 |
--------------------------------------------------------------------------------
/RxClassRoomStep6/Pods/Target Support Files/Pods-RxClassroom/Pods-RxClassroom-umbrella.h:
--------------------------------------------------------------------------------
1 | #import
2 |
3 |
4 | FOUNDATION_EXPORT double Pods_RxClassroomVersionNumber;
5 | FOUNDATION_EXPORT const unsigned char Pods_RxClassroomVersionString[];
6 |
7 |
--------------------------------------------------------------------------------
/RxClassRoomStep6/Pods/Target Support Files/Pods-RxClassroom/Pods-RxClassroom.modulemap:
--------------------------------------------------------------------------------
1 | framework module Pods_RxClassroom {
2 | umbrella header "Pods-RxClassroom-umbrella.h"
3 |
4 | export *
5 | module * { export * }
6 | }
7 |
--------------------------------------------------------------------------------
/RxClassRoomStep6/Pods/Target Support Files/RxCocoa/RxCocoa-dummy.m:
--------------------------------------------------------------------------------
1 | #import
2 | @interface PodsDummy_RxCocoa : NSObject
3 | @end
4 | @implementation PodsDummy_RxCocoa
5 | @end
6 |
--------------------------------------------------------------------------------
/RxClassRoomStep6/Pods/Target Support Files/RxCocoa/RxCocoa-prefix.pch:
--------------------------------------------------------------------------------
1 | #ifdef __OBJC__
2 | #import
3 | #endif
4 |
5 |
--------------------------------------------------------------------------------
/RxClassRoomStep6/Pods/Target Support Files/RxCocoa/RxCocoa-umbrella.h:
--------------------------------------------------------------------------------
1 | #import
2 |
3 | #import "RxCocoa.h"
4 | #import "_RX.h"
5 | #import "_RXDelegateProxy.h"
6 | #import "_RXKVOObserver.h"
7 | #import "_RXObjCRuntime.h"
8 |
9 | FOUNDATION_EXPORT double RxCocoaVersionNumber;
10 | FOUNDATION_EXPORT const unsigned char RxCocoaVersionString[];
11 |
12 |
--------------------------------------------------------------------------------
/RxClassRoomStep6/Pods/Target Support Files/RxCocoa/RxCocoa.modulemap:
--------------------------------------------------------------------------------
1 | framework module RxCocoa {
2 | umbrella header "RxCocoa-umbrella.h"
3 |
4 | export *
5 | module * { export * }
6 | }
7 |
--------------------------------------------------------------------------------
/RxClassRoomStep6/Pods/Target Support Files/RxCocoa/RxCocoa.xcconfig:
--------------------------------------------------------------------------------
1 | CONFIGURATION_BUILD_DIR = $PODS_CONFIGURATION_BUILD_DIR/RxCocoa
2 | FRAMEWORK_SEARCH_PATHS = $(inherited) "$PODS_CONFIGURATION_BUILD_DIR/RxSwift"
3 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
4 | HEADER_SEARCH_PATHS = "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Public"
5 | OTHER_SWIFT_FLAGS = $(inherited) "-D" "COCOAPODS"
6 | PODS_BUILD_DIR = $BUILD_DIR
7 | PODS_CONFIGURATION_BUILD_DIR = $PODS_BUILD_DIR/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
8 | PODS_ROOT = ${SRCROOT}
9 | PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier}
10 | SKIP_INSTALL = YES
11 |
--------------------------------------------------------------------------------
/RxClassRoomStep6/Pods/Target Support Files/RxSwift/RxSwift-dummy.m:
--------------------------------------------------------------------------------
1 | #import
2 | @interface PodsDummy_RxSwift : NSObject
3 | @end
4 | @implementation PodsDummy_RxSwift
5 | @end
6 |
--------------------------------------------------------------------------------
/RxClassRoomStep6/Pods/Target Support Files/RxSwift/RxSwift-prefix.pch:
--------------------------------------------------------------------------------
1 | #ifdef __OBJC__
2 | #import
3 | #endif
4 |
5 |
--------------------------------------------------------------------------------
/RxClassRoomStep6/Pods/Target Support Files/RxSwift/RxSwift-umbrella.h:
--------------------------------------------------------------------------------
1 | #import
2 |
3 |
4 | FOUNDATION_EXPORT double RxSwiftVersionNumber;
5 | FOUNDATION_EXPORT const unsigned char RxSwiftVersionString[];
6 |
7 |
--------------------------------------------------------------------------------
/RxClassRoomStep6/Pods/Target Support Files/RxSwift/RxSwift.modulemap:
--------------------------------------------------------------------------------
1 | framework module RxSwift {
2 | umbrella header "RxSwift-umbrella.h"
3 |
4 | export *
5 | module * { export * }
6 | }
7 |
--------------------------------------------------------------------------------
/RxClassRoomStep6/Pods/Target Support Files/RxSwift/RxSwift.xcconfig:
--------------------------------------------------------------------------------
1 | CONFIGURATION_BUILD_DIR = $PODS_CONFIGURATION_BUILD_DIR/RxSwift
2 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
3 | HEADER_SEARCH_PATHS = "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Public"
4 | OTHER_SWIFT_FLAGS = $(inherited) "-D" "COCOAPODS"
5 | PODS_BUILD_DIR = $BUILD_DIR
6 | PODS_CONFIGURATION_BUILD_DIR = $PODS_BUILD_DIR/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
7 | PODS_ROOT = ${SRCROOT}
8 | PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier}
9 | SKIP_INSTALL = YES
10 |
--------------------------------------------------------------------------------
/RxClassRoomStep6/RxClassroom.xcodeproj/project.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/RxClassRoomStep6/RxClassroom.xcodeproj/project.xcworkspace/xcuserdata/fpillet.xcuserdatad/UserInterfaceState.xcuserstate:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FrenchKit/RxClassroom/60ec25f8bd120e938c84392177d3afd095f08cfd/RxClassRoomStep6/RxClassroom.xcodeproj/project.xcworkspace/xcuserdata/fpillet.xcuserdatad/UserInterfaceState.xcuserstate
--------------------------------------------------------------------------------
/RxClassRoomStep6/RxClassroom.xcodeproj/project.xcworkspace/xcuserdata/fpillet.xcuserdatad/xcschemes/xcschememanagement.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/RxClassRoomStep6/RxClassroom.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/RxClassRoomStep6/RxClassroom.xcworkspace/xcuserdata/fpillet.xcuserdatad/UserInterfaceState.xcuserstate:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FrenchKit/RxClassroom/60ec25f8bd120e938c84392177d3afd095f08cfd/RxClassRoomStep6/RxClassroom.xcworkspace/xcuserdata/fpillet.xcuserdatad/UserInterfaceState.xcuserstate
--------------------------------------------------------------------------------
/RxClassRoomStep6/RxClassroom.xcworkspace/xcuserdata/fpillet.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist:
--------------------------------------------------------------------------------
1 |
2 |
5 |
6 |
--------------------------------------------------------------------------------
/RxClassRoomStep6/RxClassroom.xcworkspace/xcuserdata/fpillet.xcuserdatad/xcschemes/xcschememanagement.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/RxClassRoomStep6/RxClassroom/Weather.swift:
--------------------------------------------------------------------------------
1 | //
2 | // Weather.swift
3 | // RxClassroom
4 | //
5 |
6 | import Foundation
7 |
8 | enum Sky {
9 | case Clear
10 | case Windy
11 | case PartlyCloudy
12 | case Cloudy
13 | case Rainy
14 | }
15 |
16 | struct Conditions {
17 | let time : NSDate
18 | let temperature : Int
19 | let sky : Sky
20 | }
21 |
22 | struct Forecast {
23 | let city : String
24 | let forecast : [Conditions]
25 | }
26 |
--------------------------------------------------------------------------------
/RxClassRoomStep6/RxClassroom/WeatherServiceType.swift:
--------------------------------------------------------------------------------
1 | //
2 | // WeatherService.swift
3 | // RxClassroom
4 | //
5 |
6 | import Foundation
7 | import RxSwift
8 |
9 | protocol WeatherServiceType {
10 |
11 | func getForecast(city: String) -> Observable
12 |
13 | }
14 |
--------------------------------------------------------------------------------
/RxClassRoomStep7/.DS_Store:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FrenchKit/RxClassroom/60ec25f8bd120e938c84392177d3afd095f08cfd/RxClassRoomStep7/.DS_Store
--------------------------------------------------------------------------------
/RxClassRoomStep7/.idea/encodings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/RxClassRoomStep7/.idea/misc.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/RxClassRoomStep7/.idea/modules.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/RxClassRoomStep7/.idea/vcs.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/RxClassRoomStep7/.idea/xcode.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/RxClassRoomStep7/Podfile:
--------------------------------------------------------------------------------
1 | use_frameworks!
2 |
3 | target :RxClassroom do
4 | pod 'RxSwift'
5 | pod 'RxCocoa'
6 | pod 'Action'
7 | end
8 |
--------------------------------------------------------------------------------
/RxClassRoomStep7/Podfile.lock:
--------------------------------------------------------------------------------
1 | PODS:
2 | - Action (1.3.0):
3 | - RxCocoa (~> 2.6)
4 | - RxSwift (~> 2.6)
5 | - RxCocoa (2.6.0):
6 | - RxSwift (~> 2.5)
7 | - RxSwift (2.6.0)
8 |
9 | DEPENDENCIES:
10 | - Action
11 | - RxCocoa
12 | - RxSwift
13 |
14 | SPEC CHECKSUMS:
15 | Action: 09c900c05bfef2f422374dc97790429bddbd1bbc
16 | RxCocoa: 89ab00d5753502520227940e3a0e0a0413683c6b
17 | RxSwift: 77f3a0b15324baa7a1c9bfa9f199648a82424e26
18 |
19 | PODFILE CHECKSUM: 9a6b803cc55a7ac1457558f1794ed497be7611e8
20 |
21 | COCOAPODS: 1.0.1
22 |
--------------------------------------------------------------------------------
/RxClassRoomStep7/Pods/Manifest.lock:
--------------------------------------------------------------------------------
1 | PODS:
2 | - Action (1.3.0):
3 | - RxCocoa (~> 2.6)
4 | - RxSwift (~> 2.6)
5 | - RxCocoa (2.6.0):
6 | - RxSwift (~> 2.5)
7 | - RxSwift (2.6.0)
8 |
9 | DEPENDENCIES:
10 | - Action
11 | - RxCocoa
12 | - RxSwift
13 |
14 | SPEC CHECKSUMS:
15 | Action: 09c900c05bfef2f422374dc97790429bddbd1bbc
16 | RxCocoa: 89ab00d5753502520227940e3a0e0a0413683c6b
17 | RxSwift: 77f3a0b15324baa7a1c9bfa9f199648a82424e26
18 |
19 | PODFILE CHECKSUM: 9a6b803cc55a7ac1457558f1794ed497be7611e8
20 |
21 | COCOAPODS: 1.0.1
22 |
--------------------------------------------------------------------------------
/RxClassRoomStep7/Pods/RxCocoa/RxCocoa/Common/Observables/Implementations/DeallocObservable.swift:
--------------------------------------------------------------------------------
1 | //
2 | // DeallocObservable.swift
3 | // Rx
4 | //
5 | // Created by Krunoslav Zaher on 12/19/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 | #if !RX_NO_MODULE
11 | import RxSwift
12 | #endif
13 |
14 | class DeallocObservable {
15 | let _subject = ReplaySubject.create(bufferSize: 1)
16 |
17 | init() {
18 | }
19 |
20 | deinit {
21 | _subject.on(.Next(()))
22 | _subject.on(.Completed)
23 | }
24 | }
25 |
--------------------------------------------------------------------------------
/RxClassRoomStep7/Pods/RxCocoa/RxCocoa/Common/_RX.m:
--------------------------------------------------------------------------------
1 | //
2 | // _RX.m
3 | // RxCocoa
4 | //
5 | // Created by Krunoslav Zaher on 7/12/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | #import "_RX.h"
10 |
11 |
--------------------------------------------------------------------------------
/RxClassRoomStep7/Pods/RxCocoa/RxCocoa/Common/_RXDelegateProxy.h:
--------------------------------------------------------------------------------
1 | //
2 | // _RXDelegateProxy.h
3 | // RxCocoa
4 | //
5 | // Created by Krunoslav Zaher on 7/4/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | @interface _RXDelegateProxy : NSObject
12 |
13 | @property (nonatomic, weak, readonly) id _forwardToDelegate;
14 |
15 | -(void)_setForwardToDelegate:(id)forwardToDelegate retainDelegate:(BOOL)retainDelegate;
16 |
17 | -(BOOL)hasWiredImplementationForSelector:(SEL)selector;
18 |
19 | -(void)interceptedSelector:(SEL)selector withArguments:(NSArray*)arguments;
20 |
21 | @end
22 |
--------------------------------------------------------------------------------
/RxClassRoomStep7/Pods/RxCocoa/RxCocoa/RxCocoa.h:
--------------------------------------------------------------------------------
1 | //
2 | // RxCocoa.h
3 | // RxCocoa
4 | //
5 | // Created by Krunoslav Zaher on 2/21/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | #import
10 | #import "_RX.h"
11 | #import "_RXDelegateProxy.h"
12 | #import "_RXKVOObserver.h"
13 | #import "_RXObjCRuntime.h"
14 |
15 | //! Project version number for RxCocoa.
16 | FOUNDATION_EXPORT double RxCocoaVersionNumber;
17 |
18 | //! Project version string for RxCocoa.
19 | FOUNDATION_EXPORT const unsigned char RxCocoaVersionString[];
--------------------------------------------------------------------------------
/RxClassRoomStep7/Pods/RxCocoa/RxCocoa/iOS/Events/ItemEvents.swift:
--------------------------------------------------------------------------------
1 | //
2 | // ItemEvents.swift
3 | // RxCocoa
4 | //
5 | // Created by Krunoslav Zaher on 6/20/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 | import UIKit
11 |
12 | #if os(iOS) || os(tvOS)
13 | public typealias ItemMovedEvent = (sourceIndex: NSIndexPath, destinationIndex: NSIndexPath)
14 | public typealias WillDisplayCellEvent = (cell: UITableViewCell, indexPath: NSIndexPath)
15 | public typealias DidEndDisplayingCellEvent = (cell: UITableViewCell, indexPath: NSIndexPath)
16 | #endif
--------------------------------------------------------------------------------
/RxClassRoomStep7/Pods/RxSwift/RxSwift/Cancelable.swift:
--------------------------------------------------------------------------------
1 | //
2 | // Cancelable.swift
3 | // Rx
4 | //
5 | // Created by Krunoslav Zaher on 3/12/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | /**
12 | Represents disposable resource with state tracking.
13 | */
14 | public protocol Cancelable : Disposable {
15 | /**
16 | - returns: Was resource disposed.
17 | */
18 | var disposed: Bool { get }
19 | }
--------------------------------------------------------------------------------
/RxClassRoomStep7/Pods/RxSwift/RxSwift/Concurrency/LockOwnerType.swift:
--------------------------------------------------------------------------------
1 | //
2 | // LockOwnerType.swift
3 | // Rx
4 | //
5 | // Created by Krunoslav Zaher on 10/25/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | protocol LockOwnerType : class, Lock {
12 | var _lock: NSRecursiveLock { get }
13 | }
14 |
15 | extension LockOwnerType {
16 | func lock() {
17 | _lock.lock()
18 | }
19 |
20 | func unlock() {
21 | _lock.unlock()
22 | }
23 | }
--------------------------------------------------------------------------------
/RxClassRoomStep7/Pods/RxSwift/RxSwift/Concurrency/SynchronizedDisposeType.swift:
--------------------------------------------------------------------------------
1 | //
2 | // SynchronizedDisposeType.swift
3 | // Rx
4 | //
5 | // Created by Krunoslav Zaher on 10/25/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | protocol SynchronizedDisposeType : class, Disposable, Lock {
12 | func _synchronized_dispose()
13 | }
14 |
15 | extension SynchronizedDisposeType {
16 | func synchronizedDispose() {
17 | lock(); defer { unlock() }
18 | _synchronized_dispose()
19 | }
20 | }
--------------------------------------------------------------------------------
/RxClassRoomStep7/Pods/RxSwift/RxSwift/Concurrency/SynchronizedOnType.swift:
--------------------------------------------------------------------------------
1 | //
2 | // SynchronizedOnType.swift
3 | // Rx
4 | //
5 | // Created by Krunoslav Zaher on 10/25/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | protocol SynchronizedOnType : class, ObserverType, Lock {
12 | func _synchronized_on(event: Event)
13 | }
14 |
15 | extension SynchronizedOnType {
16 | func synchronizedOn(event: Event) {
17 | lock(); defer { unlock() }
18 | _synchronized_on(event)
19 | }
20 | }
--------------------------------------------------------------------------------
/RxClassRoomStep7/Pods/RxSwift/RxSwift/Concurrency/SynchronizedUnsubscribeType.swift:
--------------------------------------------------------------------------------
1 | //
2 | // SynchronizedUnsubscribeType.swift
3 | // Rx
4 | //
5 | // Created by Krunoslav Zaher on 10/25/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | protocol SynchronizedUnsubscribeType : class {
12 | associatedtype DisposeKey
13 |
14 | func synchronizedUnsubscribe(disposeKey: DisposeKey)
15 | }
--------------------------------------------------------------------------------
/RxClassRoomStep7/Pods/RxSwift/RxSwift/Disposable.swift:
--------------------------------------------------------------------------------
1 | //
2 | // Disposable.swift
3 | // Rx
4 | //
5 | // Created by Krunoslav Zaher on 2/8/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | /// Respresents a disposable resource.
12 | public protocol Disposable {
13 | /// Dispose resource.
14 | func dispose()
15 | }
--------------------------------------------------------------------------------
/RxClassRoomStep7/Pods/RxSwift/RxSwift/Disposables/DisposeBase.swift:
--------------------------------------------------------------------------------
1 | //
2 | // DisposeBase.swift
3 | // Rx
4 | //
5 | // Created by Krunoslav Zaher on 4/4/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | /**
12 | Base class for all disposables.
13 | */
14 | public class DisposeBase {
15 | init() {
16 | #if TRACE_RESOURCES
17 | AtomicIncrement(&resourceCount)
18 | #endif
19 | }
20 |
21 | deinit {
22 | #if TRACE_RESOURCES
23 | AtomicDecrement(&resourceCount)
24 | #endif
25 | }
26 | }
--------------------------------------------------------------------------------
/RxClassRoomStep7/Pods/RxSwift/RxSwift/Disposables/NAryDisposable.swift:
--------------------------------------------------------------------------------
1 | // This file is autogenerated. Take a look at `Preprocessor` target in RxSwift project
2 | //
3 | // NAryDisposable.swift
4 | // RxSwift
5 | //
6 | // Created by Krunoslav Zaher on 8/20/15.
7 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
8 | //
9 |
10 | import Foundation
11 |
--------------------------------------------------------------------------------
/RxClassRoomStep7/Pods/RxSwift/RxSwift/Disposables/StableCompositeDisposable.swift:
--------------------------------------------------------------------------------
1 | //
2 | // StableCompositeDisposable.swift
3 | // RxSwift
4 | //
5 | // Created by Krunoslav Zaher on 6/12/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | public final class StableCompositeDisposable {
12 | public static func create(disposable1: Disposable, _ disposable2: Disposable) -> Disposable {
13 | return BinaryDisposable(disposable1, disposable2)
14 | }
15 | }
--------------------------------------------------------------------------------
/RxClassRoomStep7/Pods/RxSwift/RxSwift/Disposables/SubscriptionDisposable.swift:
--------------------------------------------------------------------------------
1 | //
2 | // SubscriptionDisposable.swift
3 | // Rx
4 | //
5 | // Created by Krunoslav Zaher on 10/25/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | struct SubscriptionDisposable : Disposable {
12 | private let _key: T.DisposeKey
13 | private weak var _owner: T?
14 |
15 | init(owner: T, key: T.DisposeKey) {
16 | _owner = owner
17 | _key = key
18 | }
19 |
20 | func dispose() {
21 | _owner?.synchronizedUnsubscribe(_key)
22 | }
23 | }
--------------------------------------------------------------------------------
/RxClassRoomStep7/Pods/RxSwift/RxSwift/Observables/Implementations/Empty.swift:
--------------------------------------------------------------------------------
1 | //
2 | // Empty.swift
3 | // Rx
4 | //
5 | // Created by Krunoslav Zaher on 8/30/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | class Empty : Producer {
12 | override func subscribe(observer: O) -> Disposable {
13 | observer.on(.Completed)
14 | return NopDisposable.instance
15 | }
16 | }
--------------------------------------------------------------------------------
/RxClassRoomStep7/Pods/RxSwift/RxSwift/Observables/Implementations/Error.swift:
--------------------------------------------------------------------------------
1 | //
2 | // Error.swift
3 | // Rx
4 | //
5 | // Created by Krunoslav Zaher on 8/30/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | class Error : Producer {
12 | private let _error: ErrorType
13 |
14 | init(error: ErrorType) {
15 | _error = error
16 | }
17 |
18 | override func subscribe(observer: O) -> Disposable {
19 | observer.on(.Error(_error))
20 | return NopDisposable.instance
21 | }
22 | }
--------------------------------------------------------------------------------
/RxClassRoomStep7/Pods/RxSwift/RxSwift/Observables/Implementations/Never.swift:
--------------------------------------------------------------------------------
1 | //
2 | // Never.swift
3 | // Rx
4 | //
5 | // Created by Krunoslav Zaher on 8/30/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | class Never : Producer {
12 | override func subscribe(observer: O) -> Disposable {
13 | return NopDisposable.instance
14 | }
15 | }
--------------------------------------------------------------------------------
/RxClassRoomStep7/Pods/RxSwift/RxSwift/Schedulers/Internal/AnonymousInvocable.swift:
--------------------------------------------------------------------------------
1 | //
2 | // AnonymousInvocable.swift
3 | // Rx
4 | //
5 | // Created by Krunoslav Zaher on 11/7/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | struct AnonymousInvocable : InvocableType {
12 | private let _action: () -> ()
13 |
14 | init(_ action: () -> ()) {
15 | _action = action
16 | }
17 |
18 | func invoke() {
19 | _action()
20 | }
21 | }
--------------------------------------------------------------------------------
/RxClassRoomStep7/Pods/RxSwift/RxSwift/Schedulers/Internal/InvocableScheduledItem.swift:
--------------------------------------------------------------------------------
1 | //
2 | // InvocableScheduledItem.swift
3 | // Rx
4 | //
5 | // Created by Krunoslav Zaher on 11/7/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | struct InvocableScheduledItem : InvocableType {
12 |
13 | let _invocable: I
14 | let _state: I.Value
15 |
16 | init(invocable: I, state: I.Value) {
17 | _invocable = invocable
18 | _state = state
19 | }
20 |
21 | func invoke() {
22 | _invocable.invoke(_state)
23 | }
24 | }
--------------------------------------------------------------------------------
/RxClassRoomStep7/Pods/RxSwift/RxSwift/Schedulers/Internal/InvocableType.swift:
--------------------------------------------------------------------------------
1 | //
2 | // InvocableType.swift
3 | // Rx
4 | //
5 | // Created by Krunoslav Zaher on 11/7/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | protocol InvocableType {
12 | func invoke()
13 | }
14 |
15 | protocol InvocableWithValueType {
16 | associatedtype Value
17 |
18 | func invoke(value: Value)
19 | }
--------------------------------------------------------------------------------
/RxClassRoomStep7/Pods/RxSwift/RxSwift/Schedulers/Internal/ScheduledItemType.swift:
--------------------------------------------------------------------------------
1 | //
2 | // ScheduledItemType.swift
3 | // Rx
4 | //
5 | // Created by Krunoslav Zaher on 11/7/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | protocol ScheduledItemType
12 | : Cancelable
13 | , InvocableType {
14 | func invoke()
15 | }
16 |
--------------------------------------------------------------------------------
/RxClassRoomStep7/Pods/Target Support Files/Action/Action-dummy.m:
--------------------------------------------------------------------------------
1 | #import
2 | @interface PodsDummy_Action : NSObject
3 | @end
4 | @implementation PodsDummy_Action
5 | @end
6 |
--------------------------------------------------------------------------------
/RxClassRoomStep7/Pods/Target Support Files/Action/Action-prefix.pch:
--------------------------------------------------------------------------------
1 | #ifdef __OBJC__
2 | #import
3 | #endif
4 |
5 |
--------------------------------------------------------------------------------
/RxClassRoomStep7/Pods/Target Support Files/Action/Action-umbrella.h:
--------------------------------------------------------------------------------
1 | #import
2 |
3 |
4 | FOUNDATION_EXPORT double ActionVersionNumber;
5 | FOUNDATION_EXPORT const unsigned char ActionVersionString[];
6 |
7 |
--------------------------------------------------------------------------------
/RxClassRoomStep7/Pods/Target Support Files/Action/Action.modulemap:
--------------------------------------------------------------------------------
1 | framework module Action {
2 | umbrella header "Action-umbrella.h"
3 |
4 | export *
5 | module * { export * }
6 | }
7 |
--------------------------------------------------------------------------------
/RxClassRoomStep7/Pods/Target Support Files/Pods-RxClassroom/Pods-RxClassroom-dummy.m:
--------------------------------------------------------------------------------
1 | #import
2 | @interface PodsDummy_Pods_RxClassroom : NSObject
3 | @end
4 | @implementation PodsDummy_Pods_RxClassroom
5 | @end
6 |
--------------------------------------------------------------------------------
/RxClassRoomStep7/Pods/Target Support Files/Pods-RxClassroom/Pods-RxClassroom-umbrella.h:
--------------------------------------------------------------------------------
1 | #import
2 |
3 |
4 | FOUNDATION_EXPORT double Pods_RxClassroomVersionNumber;
5 | FOUNDATION_EXPORT const unsigned char Pods_RxClassroomVersionString[];
6 |
7 |
--------------------------------------------------------------------------------
/RxClassRoomStep7/Pods/Target Support Files/Pods-RxClassroom/Pods-RxClassroom.modulemap:
--------------------------------------------------------------------------------
1 | framework module Pods_RxClassroom {
2 | umbrella header "Pods-RxClassroom-umbrella.h"
3 |
4 | export *
5 | module * { export * }
6 | }
7 |
--------------------------------------------------------------------------------
/RxClassRoomStep7/Pods/Target Support Files/RxCocoa/RxCocoa-dummy.m:
--------------------------------------------------------------------------------
1 | #import
2 | @interface PodsDummy_RxCocoa : NSObject
3 | @end
4 | @implementation PodsDummy_RxCocoa
5 | @end
6 |
--------------------------------------------------------------------------------
/RxClassRoomStep7/Pods/Target Support Files/RxCocoa/RxCocoa-prefix.pch:
--------------------------------------------------------------------------------
1 | #ifdef __OBJC__
2 | #import
3 | #endif
4 |
5 |
--------------------------------------------------------------------------------
/RxClassRoomStep7/Pods/Target Support Files/RxCocoa/RxCocoa-umbrella.h:
--------------------------------------------------------------------------------
1 | #import
2 |
3 | #import "RxCocoa.h"
4 | #import "_RX.h"
5 | #import "_RXDelegateProxy.h"
6 | #import "_RXKVOObserver.h"
7 | #import "_RXObjCRuntime.h"
8 |
9 | FOUNDATION_EXPORT double RxCocoaVersionNumber;
10 | FOUNDATION_EXPORT const unsigned char RxCocoaVersionString[];
11 |
12 |
--------------------------------------------------------------------------------
/RxClassRoomStep7/Pods/Target Support Files/RxCocoa/RxCocoa.modulemap:
--------------------------------------------------------------------------------
1 | framework module RxCocoa {
2 | umbrella header "RxCocoa-umbrella.h"
3 |
4 | export *
5 | module * { export * }
6 | }
7 |
--------------------------------------------------------------------------------
/RxClassRoomStep7/Pods/Target Support Files/RxSwift/RxSwift-dummy.m:
--------------------------------------------------------------------------------
1 | #import
2 | @interface PodsDummy_RxSwift : NSObject
3 | @end
4 | @implementation PodsDummy_RxSwift
5 | @end
6 |
--------------------------------------------------------------------------------
/RxClassRoomStep7/Pods/Target Support Files/RxSwift/RxSwift-prefix.pch:
--------------------------------------------------------------------------------
1 | #ifdef __OBJC__
2 | #import
3 | #endif
4 |
5 |
--------------------------------------------------------------------------------
/RxClassRoomStep7/Pods/Target Support Files/RxSwift/RxSwift-umbrella.h:
--------------------------------------------------------------------------------
1 | #import
2 |
3 |
4 | FOUNDATION_EXPORT double RxSwiftVersionNumber;
5 | FOUNDATION_EXPORT const unsigned char RxSwiftVersionString[];
6 |
7 |
--------------------------------------------------------------------------------
/RxClassRoomStep7/Pods/Target Support Files/RxSwift/RxSwift.modulemap:
--------------------------------------------------------------------------------
1 | framework module RxSwift {
2 | umbrella header "RxSwift-umbrella.h"
3 |
4 | export *
5 | module * { export * }
6 | }
7 |
--------------------------------------------------------------------------------
/RxClassRoomStep7/Pods/Target Support Files/RxSwift/RxSwift.xcconfig:
--------------------------------------------------------------------------------
1 | CONFIGURATION_BUILD_DIR = $PODS_CONFIGURATION_BUILD_DIR/RxSwift
2 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
3 | HEADER_SEARCH_PATHS = "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Public"
4 | OTHER_SWIFT_FLAGS = $(inherited) "-D" "COCOAPODS"
5 | PODS_BUILD_DIR = $BUILD_DIR
6 | PODS_CONFIGURATION_BUILD_DIR = $PODS_BUILD_DIR/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
7 | PODS_ROOT = ${SRCROOT}
8 | PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier}
9 | SKIP_INSTALL = YES
10 |
--------------------------------------------------------------------------------
/RxClassRoomStep7/RxClassroom.xcodeproj/project.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/RxClassRoomStep7/RxClassroom.xcodeproj/project.xcworkspace/xcuserdata/fpillet.xcuserdatad/UserInterfaceState.xcuserstate:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FrenchKit/RxClassroom/60ec25f8bd120e938c84392177d3afd095f08cfd/RxClassRoomStep7/RxClassroom.xcodeproj/project.xcworkspace/xcuserdata/fpillet.xcuserdatad/UserInterfaceState.xcuserstate
--------------------------------------------------------------------------------
/RxClassRoomStep7/RxClassroom.xcodeproj/project.xcworkspace/xcuserdata/fpillet.xcuserdatad/xcschemes/xcschememanagement.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/RxClassRoomStep7/RxClassroom.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/RxClassRoomStep7/RxClassroom.xcworkspace/xcuserdata/fpillet.xcuserdatad/UserInterfaceState.xcuserstate:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FrenchKit/RxClassroom/60ec25f8bd120e938c84392177d3afd095f08cfd/RxClassRoomStep7/RxClassroom.xcworkspace/xcuserdata/fpillet.xcuserdatad/UserInterfaceState.xcuserstate
--------------------------------------------------------------------------------
/RxClassRoomStep7/RxClassroom.xcworkspace/xcuserdata/fpillet.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist:
--------------------------------------------------------------------------------
1 |
2 |
5 |
6 |
--------------------------------------------------------------------------------
/RxClassRoomStep7/RxClassroom.xcworkspace/xcuserdata/fpillet.xcuserdatad/xcschemes/xcschememanagement.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/RxClassRoomStep7/RxClassroom/Weather.swift:
--------------------------------------------------------------------------------
1 | //
2 | // Weather.swift
3 | // RxClassroom
4 | //
5 |
6 | import Foundation
7 |
8 | enum Sky {
9 | case Clear
10 | case Windy
11 | case PartlyCloudy
12 | case Cloudy
13 | case Rainy
14 | }
15 |
16 | struct Conditions {
17 | let time : NSDate
18 | let temperature : Int
19 | let sky : Sky
20 | }
21 |
22 | struct Forecast {
23 | let city : String
24 | let forecast : [Conditions]
25 | }
26 |
--------------------------------------------------------------------------------
/RxClassRoomStep7/RxClassroom/WeatherServiceType.swift:
--------------------------------------------------------------------------------
1 | //
2 | // WeatherService.swift
3 | // RxClassroom
4 | //
5 |
6 | import Foundation
7 | import RxSwift
8 |
9 | protocol WeatherServiceType {
10 |
11 | func getForecast(city: String) -> Observable
12 |
13 | }
14 |
--------------------------------------------------------------------------------
/RxClassRoomStep8/.DS_Store:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FrenchKit/RxClassroom/60ec25f8bd120e938c84392177d3afd095f08cfd/RxClassRoomStep8/.DS_Store
--------------------------------------------------------------------------------
/RxClassRoomStep8/.idea/encodings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/RxClassRoomStep8/.idea/misc.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/RxClassRoomStep8/.idea/modules.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/RxClassRoomStep8/.idea/vcs.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/RxClassRoomStep8/.idea/xcode.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/RxClassRoomStep8/Podfile:
--------------------------------------------------------------------------------
1 | use_frameworks!
2 |
3 | target :RxClassroom do
4 | pod 'RxSwift'
5 | pod 'RxCocoa'
6 | pod 'Action'
7 | end
8 |
--------------------------------------------------------------------------------
/RxClassRoomStep8/Podfile.lock:
--------------------------------------------------------------------------------
1 | PODS:
2 | - Action (1.3.0):
3 | - RxCocoa (~> 2.6)
4 | - RxSwift (~> 2.6)
5 | - RxCocoa (2.6.0):
6 | - RxSwift (~> 2.5)
7 | - RxSwift (2.6.0)
8 |
9 | DEPENDENCIES:
10 | - Action
11 | - RxCocoa
12 | - RxSwift
13 |
14 | SPEC CHECKSUMS:
15 | Action: 09c900c05bfef2f422374dc97790429bddbd1bbc
16 | RxCocoa: 89ab00d5753502520227940e3a0e0a0413683c6b
17 | RxSwift: 77f3a0b15324baa7a1c9bfa9f199648a82424e26
18 |
19 | PODFILE CHECKSUM: 9a6b803cc55a7ac1457558f1794ed497be7611e8
20 |
21 | COCOAPODS: 1.0.1
22 |
--------------------------------------------------------------------------------
/RxClassRoomStep8/Pods/Manifest.lock:
--------------------------------------------------------------------------------
1 | PODS:
2 | - Action (1.3.0):
3 | - RxCocoa (~> 2.6)
4 | - RxSwift (~> 2.6)
5 | - RxCocoa (2.6.0):
6 | - RxSwift (~> 2.5)
7 | - RxSwift (2.6.0)
8 |
9 | DEPENDENCIES:
10 | - Action
11 | - RxCocoa
12 | - RxSwift
13 |
14 | SPEC CHECKSUMS:
15 | Action: 09c900c05bfef2f422374dc97790429bddbd1bbc
16 | RxCocoa: 89ab00d5753502520227940e3a0e0a0413683c6b
17 | RxSwift: 77f3a0b15324baa7a1c9bfa9f199648a82424e26
18 |
19 | PODFILE CHECKSUM: 9a6b803cc55a7ac1457558f1794ed497be7611e8
20 |
21 | COCOAPODS: 1.0.1
22 |
--------------------------------------------------------------------------------
/RxClassRoomStep8/Pods/RxCocoa/RxCocoa/Common/Observables/Implementations/DeallocObservable.swift:
--------------------------------------------------------------------------------
1 | //
2 | // DeallocObservable.swift
3 | // Rx
4 | //
5 | // Created by Krunoslav Zaher on 12/19/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 | #if !RX_NO_MODULE
11 | import RxSwift
12 | #endif
13 |
14 | class DeallocObservable {
15 | let _subject = ReplaySubject.create(bufferSize: 1)
16 |
17 | init() {
18 | }
19 |
20 | deinit {
21 | _subject.on(.Next(()))
22 | _subject.on(.Completed)
23 | }
24 | }
25 |
--------------------------------------------------------------------------------
/RxClassRoomStep8/Pods/RxCocoa/RxCocoa/Common/_RX.m:
--------------------------------------------------------------------------------
1 | //
2 | // _RX.m
3 | // RxCocoa
4 | //
5 | // Created by Krunoslav Zaher on 7/12/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | #import "_RX.h"
10 |
11 |
--------------------------------------------------------------------------------
/RxClassRoomStep8/Pods/RxCocoa/RxCocoa/Common/_RXDelegateProxy.h:
--------------------------------------------------------------------------------
1 | //
2 | // _RXDelegateProxy.h
3 | // RxCocoa
4 | //
5 | // Created by Krunoslav Zaher on 7/4/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | @interface _RXDelegateProxy : NSObject
12 |
13 | @property (nonatomic, weak, readonly) id _forwardToDelegate;
14 |
15 | -(void)_setForwardToDelegate:(id)forwardToDelegate retainDelegate:(BOOL)retainDelegate;
16 |
17 | -(BOOL)hasWiredImplementationForSelector:(SEL)selector;
18 |
19 | -(void)interceptedSelector:(SEL)selector withArguments:(NSArray*)arguments;
20 |
21 | @end
22 |
--------------------------------------------------------------------------------
/RxClassRoomStep8/Pods/RxCocoa/RxCocoa/RxCocoa.h:
--------------------------------------------------------------------------------
1 | //
2 | // RxCocoa.h
3 | // RxCocoa
4 | //
5 | // Created by Krunoslav Zaher on 2/21/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | #import
10 | #import "_RX.h"
11 | #import "_RXDelegateProxy.h"
12 | #import "_RXKVOObserver.h"
13 | #import "_RXObjCRuntime.h"
14 |
15 | //! Project version number for RxCocoa.
16 | FOUNDATION_EXPORT double RxCocoaVersionNumber;
17 |
18 | //! Project version string for RxCocoa.
19 | FOUNDATION_EXPORT const unsigned char RxCocoaVersionString[];
--------------------------------------------------------------------------------
/RxClassRoomStep8/Pods/RxCocoa/RxCocoa/iOS/Events/ItemEvents.swift:
--------------------------------------------------------------------------------
1 | //
2 | // ItemEvents.swift
3 | // RxCocoa
4 | //
5 | // Created by Krunoslav Zaher on 6/20/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 | import UIKit
11 |
12 | #if os(iOS) || os(tvOS)
13 | public typealias ItemMovedEvent = (sourceIndex: NSIndexPath, destinationIndex: NSIndexPath)
14 | public typealias WillDisplayCellEvent = (cell: UITableViewCell, indexPath: NSIndexPath)
15 | public typealias DidEndDisplayingCellEvent = (cell: UITableViewCell, indexPath: NSIndexPath)
16 | #endif
--------------------------------------------------------------------------------
/RxClassRoomStep8/Pods/RxSwift/RxSwift/Cancelable.swift:
--------------------------------------------------------------------------------
1 | //
2 | // Cancelable.swift
3 | // Rx
4 | //
5 | // Created by Krunoslav Zaher on 3/12/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | /**
12 | Represents disposable resource with state tracking.
13 | */
14 | public protocol Cancelable : Disposable {
15 | /**
16 | - returns: Was resource disposed.
17 | */
18 | var disposed: Bool { get }
19 | }
--------------------------------------------------------------------------------
/RxClassRoomStep8/Pods/RxSwift/RxSwift/Concurrency/LockOwnerType.swift:
--------------------------------------------------------------------------------
1 | //
2 | // LockOwnerType.swift
3 | // Rx
4 | //
5 | // Created by Krunoslav Zaher on 10/25/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | protocol LockOwnerType : class, Lock {
12 | var _lock: NSRecursiveLock { get }
13 | }
14 |
15 | extension LockOwnerType {
16 | func lock() {
17 | _lock.lock()
18 | }
19 |
20 | func unlock() {
21 | _lock.unlock()
22 | }
23 | }
--------------------------------------------------------------------------------
/RxClassRoomStep8/Pods/RxSwift/RxSwift/Concurrency/SynchronizedDisposeType.swift:
--------------------------------------------------------------------------------
1 | //
2 | // SynchronizedDisposeType.swift
3 | // Rx
4 | //
5 | // Created by Krunoslav Zaher on 10/25/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | protocol SynchronizedDisposeType : class, Disposable, Lock {
12 | func _synchronized_dispose()
13 | }
14 |
15 | extension SynchronizedDisposeType {
16 | func synchronizedDispose() {
17 | lock(); defer { unlock() }
18 | _synchronized_dispose()
19 | }
20 | }
--------------------------------------------------------------------------------
/RxClassRoomStep8/Pods/RxSwift/RxSwift/Concurrency/SynchronizedOnType.swift:
--------------------------------------------------------------------------------
1 | //
2 | // SynchronizedOnType.swift
3 | // Rx
4 | //
5 | // Created by Krunoslav Zaher on 10/25/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | protocol SynchronizedOnType : class, ObserverType, Lock {
12 | func _synchronized_on(event: Event)
13 | }
14 |
15 | extension SynchronizedOnType {
16 | func synchronizedOn(event: Event) {
17 | lock(); defer { unlock() }
18 | _synchronized_on(event)
19 | }
20 | }
--------------------------------------------------------------------------------
/RxClassRoomStep8/Pods/RxSwift/RxSwift/Concurrency/SynchronizedUnsubscribeType.swift:
--------------------------------------------------------------------------------
1 | //
2 | // SynchronizedUnsubscribeType.swift
3 | // Rx
4 | //
5 | // Created by Krunoslav Zaher on 10/25/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | protocol SynchronizedUnsubscribeType : class {
12 | associatedtype DisposeKey
13 |
14 | func synchronizedUnsubscribe(disposeKey: DisposeKey)
15 | }
--------------------------------------------------------------------------------
/RxClassRoomStep8/Pods/RxSwift/RxSwift/Disposable.swift:
--------------------------------------------------------------------------------
1 | //
2 | // Disposable.swift
3 | // Rx
4 | //
5 | // Created by Krunoslav Zaher on 2/8/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | /// Respresents a disposable resource.
12 | public protocol Disposable {
13 | /// Dispose resource.
14 | func dispose()
15 | }
--------------------------------------------------------------------------------
/RxClassRoomStep8/Pods/RxSwift/RxSwift/Disposables/DisposeBase.swift:
--------------------------------------------------------------------------------
1 | //
2 | // DisposeBase.swift
3 | // Rx
4 | //
5 | // Created by Krunoslav Zaher on 4/4/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | /**
12 | Base class for all disposables.
13 | */
14 | public class DisposeBase {
15 | init() {
16 | #if TRACE_RESOURCES
17 | AtomicIncrement(&resourceCount)
18 | #endif
19 | }
20 |
21 | deinit {
22 | #if TRACE_RESOURCES
23 | AtomicDecrement(&resourceCount)
24 | #endif
25 | }
26 | }
--------------------------------------------------------------------------------
/RxClassRoomStep8/Pods/RxSwift/RxSwift/Disposables/NAryDisposable.swift:
--------------------------------------------------------------------------------
1 | // This file is autogenerated. Take a look at `Preprocessor` target in RxSwift project
2 | //
3 | // NAryDisposable.swift
4 | // RxSwift
5 | //
6 | // Created by Krunoslav Zaher on 8/20/15.
7 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
8 | //
9 |
10 | import Foundation
11 |
--------------------------------------------------------------------------------
/RxClassRoomStep8/Pods/RxSwift/RxSwift/Disposables/StableCompositeDisposable.swift:
--------------------------------------------------------------------------------
1 | //
2 | // StableCompositeDisposable.swift
3 | // RxSwift
4 | //
5 | // Created by Krunoslav Zaher on 6/12/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | public final class StableCompositeDisposable {
12 | public static func create(disposable1: Disposable, _ disposable2: Disposable) -> Disposable {
13 | return BinaryDisposable(disposable1, disposable2)
14 | }
15 | }
--------------------------------------------------------------------------------
/RxClassRoomStep8/Pods/RxSwift/RxSwift/Disposables/SubscriptionDisposable.swift:
--------------------------------------------------------------------------------
1 | //
2 | // SubscriptionDisposable.swift
3 | // Rx
4 | //
5 | // Created by Krunoslav Zaher on 10/25/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | struct SubscriptionDisposable : Disposable {
12 | private let _key: T.DisposeKey
13 | private weak var _owner: T?
14 |
15 | init(owner: T, key: T.DisposeKey) {
16 | _owner = owner
17 | _key = key
18 | }
19 |
20 | func dispose() {
21 | _owner?.synchronizedUnsubscribe(_key)
22 | }
23 | }
--------------------------------------------------------------------------------
/RxClassRoomStep8/Pods/RxSwift/RxSwift/Observables/Implementations/Empty.swift:
--------------------------------------------------------------------------------
1 | //
2 | // Empty.swift
3 | // Rx
4 | //
5 | // Created by Krunoslav Zaher on 8/30/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | class Empty : Producer {
12 | override func subscribe(observer: O) -> Disposable {
13 | observer.on(.Completed)
14 | return NopDisposable.instance
15 | }
16 | }
--------------------------------------------------------------------------------
/RxClassRoomStep8/Pods/RxSwift/RxSwift/Observables/Implementations/Error.swift:
--------------------------------------------------------------------------------
1 | //
2 | // Error.swift
3 | // Rx
4 | //
5 | // Created by Krunoslav Zaher on 8/30/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | class Error : Producer {
12 | private let _error: ErrorType
13 |
14 | init(error: ErrorType) {
15 | _error = error
16 | }
17 |
18 | override func subscribe(observer: O) -> Disposable {
19 | observer.on(.Error(_error))
20 | return NopDisposable.instance
21 | }
22 | }
--------------------------------------------------------------------------------
/RxClassRoomStep8/Pods/RxSwift/RxSwift/Observables/Implementations/Never.swift:
--------------------------------------------------------------------------------
1 | //
2 | // Never.swift
3 | // Rx
4 | //
5 | // Created by Krunoslav Zaher on 8/30/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | class Never : Producer {
12 | override func subscribe(observer: O) -> Disposable {
13 | return NopDisposable.instance
14 | }
15 | }
--------------------------------------------------------------------------------
/RxClassRoomStep8/Pods/RxSwift/RxSwift/Schedulers/Internal/AnonymousInvocable.swift:
--------------------------------------------------------------------------------
1 | //
2 | // AnonymousInvocable.swift
3 | // Rx
4 | //
5 | // Created by Krunoslav Zaher on 11/7/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | struct AnonymousInvocable : InvocableType {
12 | private let _action: () -> ()
13 |
14 | init(_ action: () -> ()) {
15 | _action = action
16 | }
17 |
18 | func invoke() {
19 | _action()
20 | }
21 | }
--------------------------------------------------------------------------------
/RxClassRoomStep8/Pods/RxSwift/RxSwift/Schedulers/Internal/InvocableScheduledItem.swift:
--------------------------------------------------------------------------------
1 | //
2 | // InvocableScheduledItem.swift
3 | // Rx
4 | //
5 | // Created by Krunoslav Zaher on 11/7/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | struct InvocableScheduledItem : InvocableType {
12 |
13 | let _invocable: I
14 | let _state: I.Value
15 |
16 | init(invocable: I, state: I.Value) {
17 | _invocable = invocable
18 | _state = state
19 | }
20 |
21 | func invoke() {
22 | _invocable.invoke(_state)
23 | }
24 | }
--------------------------------------------------------------------------------
/RxClassRoomStep8/Pods/RxSwift/RxSwift/Schedulers/Internal/InvocableType.swift:
--------------------------------------------------------------------------------
1 | //
2 | // InvocableType.swift
3 | // Rx
4 | //
5 | // Created by Krunoslav Zaher on 11/7/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | protocol InvocableType {
12 | func invoke()
13 | }
14 |
15 | protocol InvocableWithValueType {
16 | associatedtype Value
17 |
18 | func invoke(value: Value)
19 | }
--------------------------------------------------------------------------------
/RxClassRoomStep8/Pods/RxSwift/RxSwift/Schedulers/Internal/ScheduledItemType.swift:
--------------------------------------------------------------------------------
1 | //
2 | // ScheduledItemType.swift
3 | // Rx
4 | //
5 | // Created by Krunoslav Zaher on 11/7/15.
6 | // Copyright © 2015 Krunoslav Zaher. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | protocol ScheduledItemType
12 | : Cancelable
13 | , InvocableType {
14 | func invoke()
15 | }
16 |
--------------------------------------------------------------------------------
/RxClassRoomStep8/Pods/Target Support Files/Action/Action-dummy.m:
--------------------------------------------------------------------------------
1 | #import
2 | @interface PodsDummy_Action : NSObject
3 | @end
4 | @implementation PodsDummy_Action
5 | @end
6 |
--------------------------------------------------------------------------------
/RxClassRoomStep8/Pods/Target Support Files/Action/Action-prefix.pch:
--------------------------------------------------------------------------------
1 | #ifdef __OBJC__
2 | #import
3 | #endif
4 |
5 |
--------------------------------------------------------------------------------
/RxClassRoomStep8/Pods/Target Support Files/Action/Action-umbrella.h:
--------------------------------------------------------------------------------
1 | #import
2 |
3 |
4 | FOUNDATION_EXPORT double ActionVersionNumber;
5 | FOUNDATION_EXPORT const unsigned char ActionVersionString[];
6 |
7 |
--------------------------------------------------------------------------------
/RxClassRoomStep8/Pods/Target Support Files/Action/Action.modulemap:
--------------------------------------------------------------------------------
1 | framework module Action {
2 | umbrella header "Action-umbrella.h"
3 |
4 | export *
5 | module * { export * }
6 | }
7 |
--------------------------------------------------------------------------------
/RxClassRoomStep8/Pods/Target Support Files/Pods-RxClassroom/Pods-RxClassroom-dummy.m:
--------------------------------------------------------------------------------
1 | #import
2 | @interface PodsDummy_Pods_RxClassroom : NSObject
3 | @end
4 | @implementation PodsDummy_Pods_RxClassroom
5 | @end
6 |
--------------------------------------------------------------------------------
/RxClassRoomStep8/Pods/Target Support Files/Pods-RxClassroom/Pods-RxClassroom-umbrella.h:
--------------------------------------------------------------------------------
1 | #import
2 |
3 |
4 | FOUNDATION_EXPORT double Pods_RxClassroomVersionNumber;
5 | FOUNDATION_EXPORT const unsigned char Pods_RxClassroomVersionString[];
6 |
7 |
--------------------------------------------------------------------------------
/RxClassRoomStep8/Pods/Target Support Files/Pods-RxClassroom/Pods-RxClassroom.modulemap:
--------------------------------------------------------------------------------
1 | framework module Pods_RxClassroom {
2 | umbrella header "Pods-RxClassroom-umbrella.h"
3 |
4 | export *
5 | module * { export * }
6 | }
7 |
--------------------------------------------------------------------------------
/RxClassRoomStep8/Pods/Target Support Files/RxCocoa/RxCocoa-dummy.m:
--------------------------------------------------------------------------------
1 | #import
2 | @interface PodsDummy_RxCocoa : NSObject
3 | @end
4 | @implementation PodsDummy_RxCocoa
5 | @end
6 |
--------------------------------------------------------------------------------
/RxClassRoomStep8/Pods/Target Support Files/RxCocoa/RxCocoa-prefix.pch:
--------------------------------------------------------------------------------
1 | #ifdef __OBJC__
2 | #import
3 | #endif
4 |
5 |
--------------------------------------------------------------------------------
/RxClassRoomStep8/Pods/Target Support Files/RxCocoa/RxCocoa-umbrella.h:
--------------------------------------------------------------------------------
1 | #import
2 |
3 | #import "RxCocoa.h"
4 | #import "_RX.h"
5 | #import "_RXDelegateProxy.h"
6 | #import "_RXKVOObserver.h"
7 | #import "_RXObjCRuntime.h"
8 |
9 | FOUNDATION_EXPORT double RxCocoaVersionNumber;
10 | FOUNDATION_EXPORT const unsigned char RxCocoaVersionString[];
11 |
12 |
--------------------------------------------------------------------------------
/RxClassRoomStep8/Pods/Target Support Files/RxCocoa/RxCocoa.modulemap:
--------------------------------------------------------------------------------
1 | framework module RxCocoa {
2 | umbrella header "RxCocoa-umbrella.h"
3 |
4 | export *
5 | module * { export * }
6 | }
7 |
--------------------------------------------------------------------------------
/RxClassRoomStep8/Pods/Target Support Files/RxSwift/RxSwift-dummy.m:
--------------------------------------------------------------------------------
1 | #import
2 | @interface PodsDummy_RxSwift : NSObject
3 | @end
4 | @implementation PodsDummy_RxSwift
5 | @end
6 |
--------------------------------------------------------------------------------
/RxClassRoomStep8/Pods/Target Support Files/RxSwift/RxSwift-prefix.pch:
--------------------------------------------------------------------------------
1 | #ifdef __OBJC__
2 | #import
3 | #endif
4 |
5 |
--------------------------------------------------------------------------------
/RxClassRoomStep8/Pods/Target Support Files/RxSwift/RxSwift-umbrella.h:
--------------------------------------------------------------------------------
1 | #import
2 |
3 |
4 | FOUNDATION_EXPORT double RxSwiftVersionNumber;
5 | FOUNDATION_EXPORT const unsigned char RxSwiftVersionString[];
6 |
7 |
--------------------------------------------------------------------------------
/RxClassRoomStep8/Pods/Target Support Files/RxSwift/RxSwift.modulemap:
--------------------------------------------------------------------------------
1 | framework module RxSwift {
2 | umbrella header "RxSwift-umbrella.h"
3 |
4 | export *
5 | module * { export * }
6 | }
7 |
--------------------------------------------------------------------------------
/RxClassRoomStep8/Pods/Target Support Files/RxSwift/RxSwift.xcconfig:
--------------------------------------------------------------------------------
1 | CONFIGURATION_BUILD_DIR = $PODS_CONFIGURATION_BUILD_DIR/RxSwift
2 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
3 | HEADER_SEARCH_PATHS = "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Public"
4 | OTHER_SWIFT_FLAGS = $(inherited) "-D" "COCOAPODS"
5 | PODS_BUILD_DIR = $BUILD_DIR
6 | PODS_CONFIGURATION_BUILD_DIR = $PODS_BUILD_DIR/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
7 | PODS_ROOT = ${SRCROOT}
8 | PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier}
9 | SKIP_INSTALL = YES
10 |
--------------------------------------------------------------------------------
/RxClassRoomStep8/RxClassroom.xcodeproj/project.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/RxClassRoomStep8/RxClassroom.xcodeproj/project.xcworkspace/xcuserdata/fpillet.xcuserdatad/UserInterfaceState.xcuserstate:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FrenchKit/RxClassroom/60ec25f8bd120e938c84392177d3afd095f08cfd/RxClassRoomStep8/RxClassroom.xcodeproj/project.xcworkspace/xcuserdata/fpillet.xcuserdatad/UserInterfaceState.xcuserstate
--------------------------------------------------------------------------------
/RxClassRoomStep8/RxClassroom.xcodeproj/project.xcworkspace/xcuserdata/fpillet.xcuserdatad/xcschemes/xcschememanagement.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/RxClassRoomStep8/RxClassroom.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/RxClassRoomStep8/RxClassroom.xcworkspace/xcuserdata/fpillet.xcuserdatad/UserInterfaceState.xcuserstate:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FrenchKit/RxClassroom/60ec25f8bd120e938c84392177d3afd095f08cfd/RxClassRoomStep8/RxClassroom.xcworkspace/xcuserdata/fpillet.xcuserdatad/UserInterfaceState.xcuserstate
--------------------------------------------------------------------------------
/RxClassRoomStep8/RxClassroom.xcworkspace/xcuserdata/fpillet.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist:
--------------------------------------------------------------------------------
1 |
2 |
5 |
6 |
--------------------------------------------------------------------------------
/RxClassRoomStep8/RxClassroom.xcworkspace/xcuserdata/fpillet.xcuserdatad/xcschemes/xcschememanagement.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/RxClassRoomStep8/RxClassroom/Weather.swift:
--------------------------------------------------------------------------------
1 | //
2 | // Weather.swift
3 | // RxClassroom
4 | //
5 |
6 | import Foundation
7 |
8 | enum Sky {
9 | case Clear
10 | case Windy
11 | case PartlyCloudy
12 | case Cloudy
13 | case Rainy
14 | }
15 |
16 | struct Conditions {
17 | let time : NSDate
18 | let temperature : Int
19 | let sky : Sky
20 | }
21 |
22 | struct Forecast {
23 | let city : String
24 | let forecast : [Conditions]
25 | }
26 |
--------------------------------------------------------------------------------
/RxClassRoomStep8/RxClassroom/WeatherServiceType.swift:
--------------------------------------------------------------------------------
1 | //
2 | // WeatherService.swift
3 | // RxClassroom
4 | //
5 |
6 | import Foundation
7 | import RxSwift
8 |
9 | protocol WeatherServiceType {
10 |
11 | func getForecast(city: String) -> Observable
12 |
13 | }
14 |
--------------------------------------------------------------------------------