
Explore RxSwift, a reactive extension for Swift that uses observable sequences to simplify asynchronous tasks such as button taps, animations, network requests, and data export.
Learn to install RxSwift with CocoaPods or alternatives, set up a project and playground inside a workspace, import RxSwift, and verify a successful build.
Explore how observables emit events in RxSwift, using just, of, from, and related operators to emit single or multiple values, with type inference and the need for a subscriber.
Explore how subscribers drive observable sequences, handle next and completed events, access elements with onNext, and use factories to tailor sequences for multiple subscribers.
Learn how disposing cancels subscriptions to prevent memory leaks by using a disposable bag to collect subscriptions and dispose of them when scope ends.
Use the do operator to execute side effects in RxSwift and RxCocoa, performing tasks without changing observable events and debugging with the identified method while watching subscribe and dispose.
Explore RxSwift traits: single, maybe, and completable. Learn how a single emits a single event, either success with a value or an error, then completes.
Learn how publish subject emits next events at runtime and delivers values only to active subscribers, with new subscribers receiving the complete event after completion.
Explore behavior subjects in RxSwift and RxCocoa, showing how each subscriber receives the latest value on subscription along with prior values during image loading from the network.
Learn how a replay subject in RxSwift buffers multiple values, replays the latest to new subscribers, and handles completion, errors, and disposal for memory management.
Explore the async subject in RxSwift: a subject that emits a single value only after it completes, delivering the latest value to subscribers; errors emit no value.
Explore RxSwift relays, including behavior relay and publish relay, wrappers on subjects that never complete or error, with behavior relay using an initial value and current value.
Show how to use a publish subject to publish progress for downloads or saves, update a progress view and label, and reveal an open button on completion.
Learn how the ignore operator and ignore element work on observables and subjects, ignoring all or specific next elements, including login attempt control with index-based or completed-event handling in RxSwift.
Learn how to use RxSwift skip operators, including skip, skip count, skip while, and skip until, with array examples and trigger subjects to control emitted events.
Explore the take operator in RxSwift: limit emissions to the first four values from an array, compare with skip, and demonstrate take while with even numbers and take until scenarios.
Explain the distinct until changed operator in RxSwift, showing how to ignore elements until a condition is true and emit values distinct from the previous element, demonstrated in a playground.
Explore ignore and skip operators in rxswift with a practical phone-number input example, showing how to extract the first n digits and ignore leading zeros.
Learn how the map operator transforms each emitted event into a new type, including converting dates to strings and using enumerated to access index values in RxSwift.
Explore the flat map operator in RxSwift to flatten nested observables, replacing map for streamlined data streams, and learn related concepts like switch latest and optional unwrapping.
Demonstrate how materialize preserves the outer behavior subject after an inner subject errors, and how to convert the event observable back to integers.
Learn to use map and flatMap in a RxSwift and RxCocoa app that fetches GitHub events, decodes them, and displays them in a table view with image caching.
Learn to use the merge operator in RxSwift to combine published subjects into an observable that emits values as they arrive, with max concurrent control for canceling extra network requests.
Combine latest merges the latest values from multiple observables into a single stream, supports different or same types, requires at least two sources and up to eight, with tuple conversion.
Learn how the zip operator combines new emissions from multiple observables to produce paired results, illustrated by weather and city data, and understand its completion and error behavior in RxSwift.
Demonstrates using the latest from and sample operators with publish subjects to emit the text field value only when the update button is pressed, illustrating observable combining and binding.
Explore the amb operator in RxSwift to select the first emitting observable and ignore the rest. See how switch latest unsubscribes from previous observables and follows the latest one.
Explore the reduce and scan operators in RxSwift, showing how reduce aggregates an observable with an initial value, and how scan emits a running total without waiting for completion.
Build an iOS app using RxSwift and RxCocoa to fetch and display category titles and descriptions from an API, decoding JSON in Swift 4.2 with Xcode 10.
Part two fetches events by category using open and closed status within 360 days, then combines results in parallel and updates the category table.
Fetch all events for each category via a GET request and display them in an event table view controller.
practice part 4 shows fetching events by category id to get open and closed events from the last 360 days, updating categories with RxSwift operators such as flatMap and merge.
Explore replay operators in RxSwift, using replay buffers to reemit past values to new subscribers, with buffer size and replay options. Compare dispatch source timer and RxSwift timer implementations.
learn how the delay operator postpones subscription emissions in RxSwift, illustrated with a publish subject, late subscribers, and timers, including hot vs. cold observables and single-shot timing.
Learn how the buffer operator collects values into an array and emits them when capacity is reached or a timeout occurs, shown with a subject and playground example.
Explore the window operator in RxSwift by emitting observables instead of arrays, controlled by time span, count, capacity, and a scheduler on the main queue.
Explore the timeout operator in RxSwift: if no event arrives within a period, it emits a timeout error and can chain to a second observable after timeout.
Learn to use text fields with RxCocoa in a Swift RxSwift app, observing input with flat map latest to update temperature, humidity, city, and country via API calls.
Bind text field input to weather data and display updates in labels using RxSwift and RxCocoa, with a binder and table view binding for real-time UI updates.
Learn about traits in RxCocoa, including Driver and control events, and how to bind UI to the main queue while handling errors, including network requests triggered by control events.
Bind an activity indicator to RxSwift and RxCocoa observables using the merge operator to start and stop animation during network requests, with updates on the main thread.
Extend the location framework by building a custom Rx extension that maps location updates to an observable, enabling GPS-based data fetching and binding with RxSwift and RxCocoa.
Fetch weather by gps coordinates using the location manager, pass latitude and longitude to the API, and bind results to the UI with RxSwift and RxCocoa.
Learn how to use forward delegate with map kit to render a city icon at coordinates on a map, using overlay renderer and delegate proxy for London, Paris, and Brussels.
See how the map automatically centers and zooms to the searched city using binder coordinates from weather data, with examples for New York, York, and London via GPS.
Track the map view's center coordinate on region did change, emit RxSwift and RxCocoa control events, and fetch weather data via API to update the user interface.
Store previously fetched data in a local cache and display cached results when a network request fails, enabling offline data access.
Learn how to handle errors with the retry operator in RxSwift, including retrying with a configurable backoff, limiting retries, and updating the UI in the subscription.
Learn to implement custom errors in API networking with RxSwift, handle status codes, and present user alerts for invalid city names or server failures, with UI updates on main queue.
Master synchronous testing of RxSwift observables in Xcode 10 with a test scheduler, creating unit tests, and validating emissions for success and failure.
Learn to write asynchronous tests in RxSwift using RxBlocking, scheduling emissions on a concurrent dispatch queue, and validate with blocking and materialise to inspect sequences.
Test the RxSwift and RxCocoa loan calculator app by validating the view model inputs (principal, period, interest) and outputs (emi, total interest, payment, principal, and percentage) using asynchronous tests.
Conclude your Onyx Swift course by asking questions on the course website and sharing the apps you plan to build; thanks for watching.
Limited Time Deep Discount available use code "AUTHOR"
Nowadays you can't just stay with Apple Ecosystem. You need to be loyal to your app not to Apple Ecosystem. But learning development on completely new platform can be very time consuming and frustrating. This is where Rx or Reactive Extensions comes in. Rx is available for many languages i.e. RxSwift, RxJS, RxJava, RxKotlin, RxAndroid. Same Rx language can be used natively in almost any frontend, backend or cross platform. This course teaches you how to use Reactive Extensions in Swift language. Then learning other Rx languages is going to be very easy. Or if you are collaborating with other Rx developers then knowing RxSwift is going to help a lot.