├── lesson3.3_just ├── problem │ └── RxSwiftHello │ │ ├── Cartfile │ │ ├── RxSwiftHello.xcodeproj │ │ ├── project.xcworkspace │ │ │ ├── contents.xcworkspacedata │ │ │ └── xcuserdata │ │ │ │ └── cell.xcuserdatad │ │ │ │ └── UserInterfaceState.xcuserstate │ │ └── xcuserdata │ │ │ └── cell.xcuserdatad │ │ │ └── xcschemes │ │ │ └── xcschememanagement.plist │ │ ├── RxSwiftHello │ │ ├── ViewController.swift │ │ └── Assets.xcassets │ │ │ └── AppIcon.appiconset │ │ │ └── Contents.json │ │ ├── RxSwiftHelloTests │ │ ├── Info.plist │ │ └── RxSwiftHelloTests.swift │ │ └── RxSwiftHelloUITests │ │ └── Info.plist └── solution │ └── RxSwiftHello │ ├── Cartfile │ ├── RxSwiftHello.xcodeproj │ ├── project.xcworkspace │ │ ├── contents.xcworkspacedata │ │ └── xcuserdata │ │ │ └── cell.xcuserdatad │ │ │ └── UserInterfaceState.xcuserstate │ └── xcuserdata │ │ └── cell.xcuserdatad │ │ └── xcschemes │ │ └── xcschememanagement.plist │ ├── RxSwiftHello │ ├── ViewController.swift │ └── Assets.xcassets │ │ └── AppIcon.appiconset │ │ └── Contents.json │ ├── RxSwiftHelloTests │ ├── Info.plist │ └── RxSwiftHelloTests.swift │ └── RxSwiftHelloUITests │ └── Info.plist ├── lesson3.5_range ├── problem │ └── RxSwiftHello │ │ ├── Cartfile │ │ ├── RxSwiftHello.xcodeproj │ │ ├── project.xcworkspace │ │ │ ├── contents.xcworkspacedata │ │ │ └── xcuserdata │ │ │ │ └── cell.xcuserdatad │ │ │ │ └── UserInterfaceState.xcuserstate │ │ └── xcuserdata │ │ │ └── cell.xcuserdatad │ │ │ └── xcschemes │ │ │ └── xcschememanagement.plist │ │ ├── RxSwiftHello │ │ ├── ViewController.swift │ │ └── Assets.xcassets │ │ │ └── AppIcon.appiconset │ │ │ └── Contents.json │ │ ├── RxSwiftHelloTests │ │ ├── Info.plist │ │ └── RxSwiftHelloTests.swift │ │ └── RxSwiftHelloUITests │ │ └── Info.plist └── solution │ └── RxSwiftHello │ ├── Cartfile │ ├── RxSwiftHello.xcodeproj │ ├── project.xcworkspace │ │ ├── contents.xcworkspacedata │ │ └── xcuserdata │ │ │ └── cell.xcuserdatad │ │ │ └── UserInterfaceState.xcuserstate │ └── xcuserdata │ │ └── cell.xcuserdatad │ │ └── xcschemes │ │ └── xcschememanagement.plist │ ├── RxSwiftHelloTests │ ├── Info.plist │ └── RxSwiftHelloTests.swift │ ├── RxSwiftHelloUITests │ └── Info.plist │ └── RxSwiftHello │ ├── ViewController.swift │ └── Assets.xcassets │ └── AppIcon.appiconset │ └── Contents.json ├── lesson3.7_timer ├── problem │ └── RxSwiftHello │ │ ├── Cartfile │ │ ├── RxSwiftHello.xcodeproj │ │ ├── project.xcworkspace │ │ │ ├── contents.xcworkspacedata │ │ │ └── xcuserdata │ │ │ │ └── cell.xcuserdatad │ │ │ │ └── UserInterfaceState.xcuserstate │ │ └── xcuserdata │ │ │ └── cell.xcuserdatad │ │ │ └── xcschemes │ │ │ └── xcschememanagement.plist │ │ ├── RxSwiftHello │ │ ├── ViewController.swift │ │ └── Assets.xcassets │ │ │ └── AppIcon.appiconset │ │ │ └── Contents.json │ │ ├── RxSwiftHelloTests │ │ ├── Info.plist │ │ └── RxSwiftHelloTests.swift │ │ └── RxSwiftHelloUITests │ │ └── Info.plist └── solution │ └── RxSwiftHello │ ├── Cartfile │ ├── RxSwiftHello.xcodeproj │ ├── project.xcworkspace │ │ ├── contents.xcworkspacedata │ │ └── xcuserdata │ │ │ └── cell.xcuserdatad │ │ │ └── UserInterfaceState.xcuserstate │ └── xcuserdata │ │ └── cell.xcuserdatad │ │ └── xcschemes │ │ └── xcschememanagement.plist │ ├── RxSwiftHelloTests │ ├── Info.plist │ └── RxSwiftHelloTests.swift │ ├── RxSwiftHelloUITests │ └── Info.plist │ └── RxSwiftHello │ └── ViewController.swift ├── lesson3.8_doOn ├── problem │ └── RxSwiftHello │ │ ├── Cartfile │ │ ├── RxSwiftHello.xcodeproj │ │ ├── project.xcworkspace │ │ │ ├── contents.xcworkspacedata │ │ │ └── xcuserdata │ │ │ │ └── cell.xcuserdatad │ │ │ │ └── UserInterfaceState.xcuserstate │ │ └── xcuserdata │ │ │ └── cell.xcuserdatad │ │ │ └── xcschemes │ │ │ └── xcschememanagement.plist │ │ ├── RxSwiftHelloTests │ │ ├── Info.plist │ │ └── RxSwiftHelloTests.swift │ │ ├── RxSwiftHelloUITests │ │ └── Info.plist │ │ └── RxSwiftHello │ │ └── ViewController.swift └── solution │ └── RxSwiftHello │ ├── Cartfile │ ├── RxSwiftHello.xcodeproj │ ├── project.xcworkspace │ │ ├── contents.xcworkspacedata │ │ └── xcuserdata │ │ │ └── cell.xcuserdatad │ │ │ └── UserInterfaceState.xcuserstate │ └── xcuserdata │ │ └── cell.xcuserdatad │ │ └── xcschemes │ │ └── xcschememanagement.plist │ ├── RxSwiftHelloTests │ ├── Info.plist │ └── RxSwiftHelloTests.swift │ └── RxSwiftHelloUITests │ └── Info.plist ├── lesson3.1_generate ├── problem │ └── RxSwiftHello │ │ ├── Cartfile │ │ ├── RxSwiftHello.xcodeproj │ │ ├── project.xcworkspace │ │ │ ├── contents.xcworkspacedata │ │ │ └── xcuserdata │ │ │ │ └── cell.xcuserdatad │ │ │ │ └── UserInterfaceState.xcuserstate │ │ └── xcuserdata │ │ │ └── cell.xcuserdatad │ │ │ └── xcschemes │ │ │ └── xcschememanagement.plist │ │ ├── RxSwiftHello │ │ └── ViewController.swift │ │ ├── RxSwiftHelloTests │ │ ├── Info.plist │ │ └── RxSwiftHelloTests.swift │ │ └── RxSwiftHelloUITests │ │ └── Info.plist └── solution │ └── RxSwiftHello │ ├── Cartfile │ ├── RxSwiftHello.xcodeproj │ ├── project.xcworkspace │ │ ├── contents.xcworkspacedata │ │ └── xcuserdata │ │ │ └── cell.xcuserdatad │ │ │ └── UserInterfaceState.xcuserstate │ └── xcuserdata │ │ └── cell.xcuserdatad │ │ └── xcschemes │ │ └── xcschememanagement.plist │ ├── RxSwiftHelloTests │ ├── Info.plist │ └── RxSwiftHelloTests.swift │ ├── RxSwiftHelloUITests │ └── Info.plist │ └── RxSwiftHello │ └── ViewController.swift ├── lesson3.4_sequenceOf ├── problem │ └── RxSwiftHello │ │ ├── Cartfile │ │ ├── RxSwiftHello.xcodeproj │ │ ├── project.xcworkspace │ │ │ ├── contents.xcworkspacedata │ │ │ └── xcuserdata │ │ │ │ └── cell.xcuserdatad │ │ │ │ └── UserInterfaceState.xcuserstate │ │ └── xcuserdata │ │ │ └── cell.xcuserdatad │ │ │ └── xcschemes │ │ │ └── xcschememanagement.plist │ │ ├── RxSwiftHello │ │ └── ViewController.swift │ │ ├── RxSwiftHelloTests │ │ ├── Info.plist │ │ └── RxSwiftHelloTests.swift │ │ └── RxSwiftHelloUITests │ │ └── Info.plist └── solution │ └── RxSwiftHello │ ├── Cartfile │ ├── RxSwiftHello.xcodeproj │ ├── project.xcworkspace │ │ ├── contents.xcworkspacedata │ │ └── xcuserdata │ │ │ └── cell.xcuserdatad │ │ │ └── UserInterfaceState.xcuserstate │ └── xcuserdata │ │ └── cell.xcuserdatad │ │ └── xcschemes │ │ └── xcschememanagement.plist │ ├── RxSwiftHello │ └── ViewController.swift │ ├── RxSwiftHelloTests │ ├── Info.plist │ └── RxSwiftHelloTests.swift │ └── RxSwiftHelloUITests │ └── Info.plist ├── lesson3.6_interval ├── problem │ └── RxSwiftHello │ │ ├── Cartfile │ │ ├── RxSwiftHello.xcodeproj │ │ ├── project.xcworkspace │ │ │ ├── contents.xcworkspacedata │ │ │ └── xcuserdata │ │ │ │ └── cell.xcuserdatad │ │ │ │ └── UserInterfaceState.xcuserstate │ │ └── xcuserdata │ │ │ └── cell.xcuserdatad │ │ │ └── xcschemes │ │ │ └── xcschememanagement.plist │ │ ├── RxSwiftHello │ │ └── ViewController.swift │ │ ├── RxSwiftHelloTests │ │ ├── Info.plist │ │ └── RxSwiftHelloTests.swift │ │ └── RxSwiftHelloUITests │ │ └── Info.plist └── solution │ └── RxSwiftHello │ ├── Cartfile │ ├── RxSwiftHello.xcodeproj │ ├── project.xcworkspace │ │ ├── contents.xcworkspacedata │ │ └── xcuserdata │ │ │ └── cell.xcuserdatad │ │ │ └── UserInterfaceState.xcuserstate │ └── xcuserdata │ │ └── cell.xcuserdatad │ │ └── xcschemes │ │ └── xcschememanagement.plist │ ├── RxSwiftHelloTests │ ├── Info.plist │ └── RxSwiftHelloTests.swift │ ├── RxSwiftHelloUITests │ └── Info.plist │ └── RxSwiftHello │ └── ViewController.swift ├── lesson1_bootstrapping ├── solution │ └── RxBootstrapping │ │ ├── Cartfile │ │ ├── RxBootstrapping.xcodeproj │ │ ├── project.xcworkspace │ │ │ ├── contents.xcworkspacedata │ │ │ └── xcuserdata │ │ │ │ └── cell.xcuserdatad │ │ │ │ └── UserInterfaceState.xcuserstate │ │ └── xcuserdata │ │ │ └── cell.xcuserdatad │ │ │ └── xcschemes │ │ │ └── xcschememanagement.plist │ │ ├── RxBootstrapping │ │ └── ViewController.swift │ │ ├── RxBootstrappingTests │ │ ├── Info.plist │ │ └── RxBootstrappingTests.swift │ │ └── RxBootstrappingUITests │ │ └── Info.plist └── README.md ├── lesson3.2_repeatElement ├── problem │ └── RxSwiftHello │ │ ├── Cartfile │ │ ├── RxSwiftHello.xcodeproj │ │ ├── project.xcworkspace │ │ │ ├── contents.xcworkspacedata │ │ │ └── xcuserdata │ │ │ │ └── cell.xcuserdatad │ │ │ │ └── UserInterfaceState.xcuserstate │ │ └── xcuserdata │ │ │ └── cell.xcuserdatad │ │ │ └── xcschemes │ │ │ └── xcschememanagement.plist │ │ ├── RxSwiftHello │ │ └── ViewController.swift │ │ ├── RxSwiftHelloTests │ │ ├── Info.plist │ │ └── RxSwiftHelloTests.swift │ │ └── RxSwiftHelloUITests │ │ └── Info.plist └── solution │ └── RxSwiftHello │ ├── Cartfile │ ├── RxSwiftHello.xcodeproj │ ├── project.xcworkspace │ │ ├── contents.xcworkspacedata │ │ └── xcuserdata │ │ │ └── cell.xcuserdatad │ │ │ └── UserInterfaceState.xcuserstate │ └── xcuserdata │ │ └── cell.xcuserdatad │ │ └── xcschemes │ │ └── xcschememanagement.plist │ ├── RxSwiftHello │ └── ViewController.swift │ ├── RxSwiftHelloTests │ ├── Info.plist │ └── RxSwiftHelloTests.swift │ └── RxSwiftHelloUITests │ └── Info.plist ├── lesson5.3_rx_constant ├── problem │ └── RxSwiftMarginDemo │ │ ├── Cartfile │ │ ├── RxSwiftMarginDemo.xcodeproj │ │ ├── project.xcworkspace │ │ │ ├── contents.xcworkspacedata │ │ │ └── xcuserdata │ │ │ │ └── cell.xcuserdatad │ │ │ │ └── UserInterfaceState.xcuserstate │ │ └── xcuserdata │ │ │ └── cell.xcuserdatad │ │ │ └── xcschemes │ │ │ └── xcschememanagement.plist │ │ ├── RxSwiftMarginDemoTests │ │ ├── Info.plist │ │ └── RxSwiftMarginDemoTests.swift │ │ ├── RxSwiftMarginDemoUITests │ │ └── Info.plist │ │ └── RxSwiftMarginDemo │ │ └── ViewController.swift ├── solution │ └── RxSwiftMarginDemo │ │ ├── Cartfile │ │ ├── RxSwiftMarginDemo.xcodeproj │ │ ├── xcuserdata │ │ │ └── cell.xcuserdatad │ │ │ │ ├── xcdebugger │ │ │ │ └── Breakpoints_v2.xcbkptlist │ │ │ │ └── xcschemes │ │ │ │ └── xcschememanagement.plist │ │ └── project.xcworkspace │ │ │ ├── contents.xcworkspacedata │ │ │ └── xcuserdata │ │ │ └── cell.xcuserdatad │ │ │ └── UserInterfaceState.xcuserstate │ │ ├── RxSwiftMarginDemoTests │ │ ├── Info.plist │ │ └── RxSwiftMarginDemoTests.swift │ │ └── RxSwiftMarginDemoUITests │ │ └── Info.plist └── .media │ └── Screen Shot 2015-11-28 at 8.49.17 PM.png ├── lesson2.3_map ├── problem │ └── RxSwiftButtonBackgroundColorDemo │ │ ├── Cartfile │ │ ├── RxSwiftButtonBackgroundColorDemo.xcodeproj │ │ ├── project.xcworkspace │ │ │ ├── contents.xcworkspacedata │ │ │ └── xcuserdata │ │ │ │ └── cell.xcuserdatad │ │ │ │ └── UserInterfaceState.xcuserstate │ │ └── xcuserdata │ │ │ └── cell.xcuserdatad │ │ │ └── xcschemes │ │ │ └── xcschememanagement.plist │ │ ├── RxSwiftButtonBackgroundColorDemo │ │ └── ViewController.swift │ │ ├── RxSwiftButtonBackgroundColorDemoTests │ │ ├── Info.plist │ │ └── RxSwiftButtonBackgroundColorDemoTests.swift │ │ └── RxSwiftButtonBackgroundColorDemoUITests │ │ └── Info.plist └── solution │ └── RxSwiftButtonBackgroundColorDemo │ ├── Cartfile │ ├── RxSwiftButtonBackgroundColorDemo.xcodeproj │ ├── project.xcworkspace │ │ ├── contents.xcworkspacedata │ │ └── xcuserdata │ │ │ └── cell.xcuserdatad │ │ │ └── UserInterfaceState.xcuserstate │ └── xcuserdata │ │ └── cell.xcuserdatad │ │ └── xcschemes │ │ └── xcschememanagement.plist │ ├── RxSwiftButtonBackgroundColorDemoTests │ ├── Info.plist │ └── RxSwiftButtonBackgroundColorDemoTests.swift │ ├── RxSwiftButtonBackgroundColorDemoUITests │ └── Info.plist │ └── RxSwiftButtonBackgroundColorDemo │ └── ViewController.swift ├── lesson5.2_rx_notification ├── problem │ └── RxSwiftNotifications │ │ ├── Cartfile │ │ ├── RxSwiftNotifications.xcodeproj │ │ ├── project.xcworkspace │ │ │ ├── contents.xcworkspacedata │ │ │ └── xcuserdata │ │ │ │ └── cell.xcuserdatad │ │ │ │ └── UserInterfaceState.xcuserstate │ │ └── xcuserdata │ │ │ └── cell.xcuserdatad │ │ │ └── xcschemes │ │ │ └── xcschememanagement.plist │ │ ├── RxSwiftNotifications │ │ └── ViewController.swift │ │ ├── RxSwiftNotificationsTests │ │ ├── Info.plist │ │ └── RxSwiftNotificationsTests.swift │ │ └── RxSwiftNotificationsUITests │ │ └── Info.plist ├── solution │ └── RxSwiftNotifications │ │ ├── Cartfile │ │ ├── RxSwiftNotifications.xcodeproj │ │ ├── project.xcworkspace │ │ │ ├── contents.xcworkspacedata │ │ │ └── xcuserdata │ │ │ │ └── cell.xcuserdatad │ │ │ │ └── UserInterfaceState.xcuserstate │ │ └── xcuserdata │ │ │ └── cell.xcuserdatad │ │ │ └── xcschemes │ │ │ └── xcschememanagement.plist │ │ ├── RxSwiftNotificationsTests │ │ ├── Info.plist │ │ └── RxSwiftNotificationsTests.swift │ │ ├── RxSwiftNotificationsUITests │ │ └── Info.plist │ │ └── RxSwiftNotifications │ │ └── ViewController.swift └── .media │ └── Screen Shot 2015-11-28 at 9.09.04 PM.png ├── lesson2.2_disposebag ├── problem │ └── RxSwiftButtonBackgroundColorDemo │ │ ├── Cartfile │ │ ├── RxSwiftButtonBackgroundColorDemo.xcodeproj │ │ ├── project.xcworkspace │ │ │ ├── contents.xcworkspacedata │ │ │ └── xcuserdata │ │ │ │ └── cell.xcuserdatad │ │ │ │ └── UserInterfaceState.xcuserstate │ │ └── xcuserdata │ │ │ └── cell.xcuserdatad │ │ │ └── xcschemes │ │ │ └── xcschememanagement.plist │ │ ├── RxSwiftButtonBackgroundColorDemo │ │ └── ViewController.swift │ │ ├── RxSwiftButtonBackgroundColorDemoTests │ │ ├── Info.plist │ │ └── RxSwiftButtonBackgroundColorDemoTests.swift │ │ └── RxSwiftButtonBackgroundColorDemoUITests │ │ └── Info.plist └── solution │ └── RxSwiftButtonBackgroundColorDemo │ ├── Cartfile │ ├── RxSwiftButtonBackgroundColorDemo.xcodeproj │ ├── project.xcworkspace │ │ ├── contents.xcworkspacedata │ │ └── xcuserdata │ │ │ └── cell.xcuserdatad │ │ │ └── UserInterfaceState.xcuserstate │ └── xcuserdata │ │ └── cell.xcuserdatad │ │ └── xcschemes │ │ └── xcschememanagement.plist │ ├── RxSwiftButtonBackgroundColorDemo │ └── ViewController.swift │ ├── RxSwiftButtonBackgroundColorDemoTests │ ├── Info.plist │ └── RxSwiftButtonBackgroundColorDemoTests.swift │ └── RxSwiftButtonBackgroundColorDemoUITests │ └── Info.plist ├── lesson2.1_backgroundcolor ├── problem │ └── RxSwiftButtonBackgroundColorDemo │ │ ├── Cartfile │ │ ├── RxSwiftButtonBackgroundColorDemo.xcodeproj │ │ ├── project.xcworkspace │ │ │ ├── contents.xcworkspacedata │ │ │ └── xcuserdata │ │ │ │ └── cell.xcuserdatad │ │ │ │ └── UserInterfaceState.xcuserstate │ │ └── xcuserdata │ │ │ └── cell.xcuserdatad │ │ │ └── xcschemes │ │ │ └── xcschememanagement.plist │ │ ├── RxSwiftButtonBackgroundColorDemo │ │ └── ViewController.swift │ │ ├── RxSwiftButtonBackgroundColorDemoTests │ │ ├── Info.plist │ │ └── RxSwiftButtonBackgroundColorDemoTests.swift │ │ └── RxSwiftButtonBackgroundColorDemoUITests │ │ └── Info.plist └── solution │ └── RxSwiftButtonBackgroundColorDemo │ ├── Cartfile │ ├── RxSwiftButtonBackgroundColorDemo.xcodeproj │ ├── project.xcworkspace │ │ ├── contents.xcworkspacedata │ │ └── xcuserdata │ │ │ └── cell.xcuserdatad │ │ │ └── UserInterfaceState.xcuserstate │ └── xcuserdata │ │ └── cell.xcuserdatad │ │ └── xcschemes │ │ └── xcschememanagement.plist │ ├── RxSwiftButtonBackgroundColorDemo │ └── ViewController.swift │ ├── RxSwiftButtonBackgroundColorDemoTests │ ├── Info.plist │ └── RxSwiftButtonBackgroundColorDemoTests.swift │ └── RxSwiftButtonBackgroundColorDemoUITests │ └── Info.plist ├── lesson5.1_uiscrollview_rxcontentOffset ├── problem │ └── RxSwiftUIScrollView │ │ ├── Cartfile │ │ ├── RxSwiftUIScrollView.xcodeproj │ │ ├── project.xcworkspace │ │ │ ├── contents.xcworkspacedata │ │ │ └── xcuserdata │ │ │ │ └── cell.xcuserdatad │ │ │ │ └── UserInterfaceState.xcuserstate │ │ └── xcuserdata │ │ │ └── cell.xcuserdatad │ │ │ └── xcschemes │ │ │ └── xcschememanagement.plist │ │ ├── RxSwiftUIScrollView │ │ └── ViewController.swift │ │ ├── RxSwiftUIScrollViewTests │ │ ├── Info.plist │ │ └── RxSwiftUIScrollViewTests.swift │ │ └── RxSwiftUIScrollViewUITests │ │ └── Info.plist ├── solution │ └── RxSwiftUIScrollView │ │ ├── Cartfile │ │ ├── RxSwiftUIScrollView.xcodeproj │ │ ├── project.xcworkspace │ │ │ ├── contents.xcworkspacedata │ │ │ └── xcuserdata │ │ │ │ └── cell.xcuserdatad │ │ │ │ └── UserInterfaceState.xcuserstate │ │ └── xcuserdata │ │ │ └── cell.xcuserdatad │ │ │ └── xcschemes │ │ │ └── xcschememanagement.plist │ │ ├── RxSwiftUIScrollView │ │ └── ViewController.swift │ │ ├── RxSwiftUIScrollViewTests │ │ ├── Info.plist │ │ └── RxSwiftUIScrollViewTests.swift │ │ └── RxSwiftUIScrollViewUITests │ │ └── Info.plist └── .media │ └── Screen Shot 2015-11-28 at 9.11.56 PM.png ├── clean.sh ├── lesson4.1_reachability ├── problem │ └── RxSwiftReachabilityBackgroundColorDemo │ │ ├── Cartfile │ │ ├── RxSwiftReachabilityBackgroundColorDemo.xcodeproj │ │ ├── project.xcworkspace │ │ │ ├── contents.xcworkspacedata │ │ │ └── xcuserdata │ │ │ │ └── cell.xcuserdatad │ │ │ │ └── UserInterfaceState.xcuserstate │ │ └── xcuserdata │ │ │ └── cell.xcuserdatad │ │ │ └── xcschemes │ │ │ └── xcschememanagement.plist │ │ ├── RxSwiftReachabilityBackgroundColorDemo │ │ └── ViewController.swift │ │ ├── RxSwiftReachabilityBackgroundColorDemoTests │ │ ├── Info.plist │ │ └── RxSwiftReachabilityBackgroundColorDemoTests.swift │ │ └── RxSwiftReachabilityBackgroundColorDemoUITests │ │ └── Info.plist └── solution │ └── RxSwiftReachabilityBackgroundColorDemo │ ├── Cartfile │ ├── RxSwiftReachabilityBackgroundColorDemo.xcodeproj │ ├── project.xcworkspace │ │ ├── contents.xcworkspacedata │ │ └── xcuserdata │ │ │ └── cell.xcuserdatad │ │ │ └── UserInterfaceState.xcuserstate │ └── xcuserdata │ │ └── cell.xcuserdatad │ │ └── xcschemes │ │ └── xcschememanagement.plist │ ├── RxSwiftReachabilityBackgroundColorDemoTests │ ├── Info.plist │ └── RxSwiftReachabilityBackgroundColorDemoTests.swift │ ├── RxSwiftReachabilityBackgroundColorDemoUITests │ └── Info.plist │ └── RxSwiftReachabilityBackgroundColorDemo │ └── ViewController.swift ├── lesson4.2_behaviorsubject ├── problem │ └── RxSwiftReachabilityBackgroundColorDemo │ │ ├── Cartfile │ │ ├── RxSwiftReachabilityBackgroundColorDemo.xcodeproj │ │ ├── project.xcworkspace │ │ │ ├── contents.xcworkspacedata │ │ │ └── xcuserdata │ │ │ │ └── cell.xcuserdatad │ │ │ │ └── UserInterfaceState.xcuserstate │ │ └── xcuserdata │ │ │ └── cell.xcuserdatad │ │ │ └── xcschemes │ │ │ └── xcschememanagement.plist │ │ ├── RxSwiftReachabilityBackgroundColorDemoTests │ │ ├── Info.plist │ │ └── RxSwiftReachabilityBackgroundColorDemoTests.swift │ │ ├── RxSwiftReachabilityBackgroundColorDemoUITests │ │ └── Info.plist │ │ └── RxSwiftReachabilityBackgroundColorDemo │ │ └── ViewController.swift └── solution │ └── RxSwiftReachabilityBackgroundColorDemo │ ├── Cartfile │ ├── RxSwiftReachabilityBackgroundColorDemo.xcodeproj │ ├── project.xcworkspace │ │ ├── contents.xcworkspacedata │ │ └── xcuserdata │ │ │ └── cell.xcuserdatad │ │ │ └── UserInterfaceState.xcuserstate │ └── xcuserdata │ │ └── cell.xcuserdatad │ │ └── xcschemes │ │ └── xcschememanagement.plist │ ├── RxSwiftReachabilityBackgroundColorDemoTests │ ├── Info.plist │ └── RxSwiftReachabilityBackgroundColorDemoTests.swift │ └── RxSwiftReachabilityBackgroundColorDemoUITests │ └── Info.plist ├── lesson0_rxexample └── README.md ├── open_problem.sh ├── open_solution.sh └── LICENSE /lesson3.3_just/problem/RxSwiftHello/Cartfile: -------------------------------------------------------------------------------- 1 | github "ReactiveX/RxSwift" "2.0.0-beta.3" 2 | -------------------------------------------------------------------------------- /lesson3.3_just/solution/RxSwiftHello/Cartfile: -------------------------------------------------------------------------------- 1 | github "ReactiveX/RxSwift" "2.0.0-beta.3" 2 | -------------------------------------------------------------------------------- /lesson3.5_range/problem/RxSwiftHello/Cartfile: -------------------------------------------------------------------------------- 1 | github "ReactiveX/RxSwift" "2.0.0-beta.3" 2 | -------------------------------------------------------------------------------- /lesson3.5_range/solution/RxSwiftHello/Cartfile: -------------------------------------------------------------------------------- 1 | github "ReactiveX/RxSwift" "2.0.0-beta.3" 2 | -------------------------------------------------------------------------------- /lesson3.7_timer/problem/RxSwiftHello/Cartfile: -------------------------------------------------------------------------------- 1 | github "ReactiveX/RxSwift" "2.0.0-beta.3" 2 | -------------------------------------------------------------------------------- /lesson3.7_timer/solution/RxSwiftHello/Cartfile: -------------------------------------------------------------------------------- 1 | github "ReactiveX/RxSwift" "2.0.0-beta.3" 2 | -------------------------------------------------------------------------------- /lesson3.8_doOn/problem/RxSwiftHello/Cartfile: -------------------------------------------------------------------------------- 1 | github "ReactiveX/RxSwift" "2.0.0-beta.3" 2 | -------------------------------------------------------------------------------- /lesson3.8_doOn/solution/RxSwiftHello/Cartfile: -------------------------------------------------------------------------------- 1 | github "ReactiveX/RxSwift" "2.0.0-beta.3" 2 | -------------------------------------------------------------------------------- /lesson3.1_generate/problem/RxSwiftHello/Cartfile: -------------------------------------------------------------------------------- 1 | github "ReactiveX/RxSwift" "2.0.0-beta.3" 2 | -------------------------------------------------------------------------------- /lesson3.1_generate/solution/RxSwiftHello/Cartfile: -------------------------------------------------------------------------------- 1 | github "ReactiveX/RxSwift" "2.0.0-beta.3" 2 | -------------------------------------------------------------------------------- /lesson3.4_sequenceOf/problem/RxSwiftHello/Cartfile: -------------------------------------------------------------------------------- 1 | github "ReactiveX/RxSwift" "2.0.0-beta.3" 2 | -------------------------------------------------------------------------------- /lesson3.4_sequenceOf/solution/RxSwiftHello/Cartfile: -------------------------------------------------------------------------------- 1 | github "ReactiveX/RxSwift" "2.0.0-beta.3" 2 | -------------------------------------------------------------------------------- /lesson3.6_interval/problem/RxSwiftHello/Cartfile: -------------------------------------------------------------------------------- 1 | github "ReactiveX/RxSwift" "2.0.0-beta.3" 2 | -------------------------------------------------------------------------------- /lesson3.6_interval/solution/RxSwiftHello/Cartfile: -------------------------------------------------------------------------------- 1 | github "ReactiveX/RxSwift" "2.0.0-beta.3" 2 | -------------------------------------------------------------------------------- /lesson1_bootstrapping/solution/RxBootstrapping/Cartfile: -------------------------------------------------------------------------------- 1 | github "ReactiveX/RxSwift" "2.0.0-beta.3" 2 | -------------------------------------------------------------------------------- /lesson3.2_repeatElement/problem/RxSwiftHello/Cartfile: -------------------------------------------------------------------------------- 1 | github "ReactiveX/RxSwift" "2.0.0-beta.3" 2 | -------------------------------------------------------------------------------- /lesson3.2_repeatElement/solution/RxSwiftHello/Cartfile: -------------------------------------------------------------------------------- 1 | github "ReactiveX/RxSwift" "2.0.0-beta.3" 2 | -------------------------------------------------------------------------------- /lesson5.3_rx_constant/problem/RxSwiftMarginDemo/Cartfile: -------------------------------------------------------------------------------- 1 | github "ReactiveX/RxSwift" "2.0.0-beta.3" 2 | -------------------------------------------------------------------------------- /lesson5.3_rx_constant/solution/RxSwiftMarginDemo/Cartfile: -------------------------------------------------------------------------------- 1 | github "ReactiveX/RxSwift" "2.0.0-beta.3" 2 | -------------------------------------------------------------------------------- /lesson2.3_map/problem/RxSwiftButtonBackgroundColorDemo/Cartfile: -------------------------------------------------------------------------------- 1 | github "ReactiveX/RxSwift" "2.0.0-beta.3" 2 | -------------------------------------------------------------------------------- /lesson2.3_map/solution/RxSwiftButtonBackgroundColorDemo/Cartfile: -------------------------------------------------------------------------------- 1 | github "ReactiveX/RxSwift" "2.0.0-beta.3" 2 | -------------------------------------------------------------------------------- /lesson5.2_rx_notification/problem/RxSwiftNotifications/Cartfile: -------------------------------------------------------------------------------- 1 | github "ReactiveX/RxSwift" "2.0.0-beta.3" 2 | -------------------------------------------------------------------------------- /lesson5.2_rx_notification/solution/RxSwiftNotifications/Cartfile: -------------------------------------------------------------------------------- 1 | github "ReactiveX/RxSwift" "2.0.0-beta.3" 2 | -------------------------------------------------------------------------------- /lesson2.2_disposebag/problem/RxSwiftButtonBackgroundColorDemo/Cartfile: -------------------------------------------------------------------------------- 1 | github "ReactiveX/RxSwift" "2.0.0-beta.3" 2 | -------------------------------------------------------------------------------- /lesson2.2_disposebag/solution/RxSwiftButtonBackgroundColorDemo/Cartfile: -------------------------------------------------------------------------------- 1 | github "ReactiveX/RxSwift" "2.0.0-beta.3" 2 | -------------------------------------------------------------------------------- /lesson2.1_backgroundcolor/problem/RxSwiftButtonBackgroundColorDemo/Cartfile: -------------------------------------------------------------------------------- 1 | github "ReactiveX/RxSwift" "2.0.0-beta.3" 2 | -------------------------------------------------------------------------------- /lesson2.1_backgroundcolor/solution/RxSwiftButtonBackgroundColorDemo/Cartfile: -------------------------------------------------------------------------------- 1 | github "ReactiveX/RxSwift" "2.0.0-beta.3" 2 | -------------------------------------------------------------------------------- /lesson5.1_uiscrollview_rxcontentOffset/problem/RxSwiftUIScrollView/Cartfile: -------------------------------------------------------------------------------- 1 | github "ReactiveX/RxSwift" "2.0.0-beta.3" 2 | -------------------------------------------------------------------------------- /lesson5.1_uiscrollview_rxcontentOffset/solution/RxSwiftUIScrollView/Cartfile: -------------------------------------------------------------------------------- 1 | github "ReactiveX/RxSwift" "2.0.0-beta.3" 2 | -------------------------------------------------------------------------------- /clean.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | set -e 4 | 5 | rm -rf lesson*_*/problem/*/Carthage 6 | rm -rf lesson*_*/solution/*/Carthage 7 | -------------------------------------------------------------------------------- /lesson4.1_reachability/problem/RxSwiftReachabilityBackgroundColorDemo/Cartfile: -------------------------------------------------------------------------------- 1 | github "ReactiveX/RxSwift" "2.0.0-beta.3" 2 | github "ashleymills/Reachability.swift" "v2.3" 3 | -------------------------------------------------------------------------------- /lesson4.1_reachability/solution/RxSwiftReachabilityBackgroundColorDemo/Cartfile: -------------------------------------------------------------------------------- 1 | github "ReactiveX/RxSwift" "2.0.0-beta.3" 2 | github "ashleymills/Reachability.swift" "v2.3" 3 | -------------------------------------------------------------------------------- /lesson4.2_behaviorsubject/problem/RxSwiftReachabilityBackgroundColorDemo/Cartfile: -------------------------------------------------------------------------------- 1 | github "ReactiveX/RxSwift" "2.0.0-beta.3" 2 | github "ashleymills/Reachability.swift" "v2.3" 3 | -------------------------------------------------------------------------------- /lesson4.2_behaviorsubject/solution/RxSwiftReachabilityBackgroundColorDemo/Cartfile: -------------------------------------------------------------------------------- 1 | github "ReactiveX/RxSwift" "2.0.0-beta.3" 2 | github "ashleymills/Reachability.swift" "v2.3" 3 | -------------------------------------------------------------------------------- /lesson5.3_rx_constant/.media/Screen Shot 2015-11-28 at 8.49.17 PM.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cellularmitosis/LearningRxSwift/HEAD/lesson5.3_rx_constant/.media/Screen Shot 2015-11-28 at 8.49.17 PM.png -------------------------------------------------------------------------------- /lesson5.2_rx_notification/.media/Screen Shot 2015-11-28 at 9.09.04 PM.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cellularmitosis/LearningRxSwift/HEAD/lesson5.2_rx_notification/.media/Screen Shot 2015-11-28 at 9.09.04 PM.png -------------------------------------------------------------------------------- /lesson5.1_uiscrollview_rxcontentOffset/.media/Screen Shot 2015-11-28 at 9.11.56 PM.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cellularmitosis/LearningRxSwift/HEAD/lesson5.1_uiscrollview_rxcontentOffset/.media/Screen Shot 2015-11-28 at 9.11.56 PM.png -------------------------------------------------------------------------------- /lesson5.3_rx_constant/solution/RxSwiftMarginDemo/RxSwiftMarginDemo.xcodeproj/xcuserdata/cell.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | -------------------------------------------------------------------------------- /lesson3.3_just/problem/RxSwiftHello/RxSwiftHello.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /lesson3.8_doOn/problem/RxSwiftHello/RxSwiftHello.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /lesson3.1_generate/problem/RxSwiftHello/RxSwiftHello.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /lesson3.1_generate/solution/RxSwiftHello/RxSwiftHello.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /lesson3.3_just/solution/RxSwiftHello/RxSwiftHello.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /lesson3.5_range/problem/RxSwiftHello/RxSwiftHello.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /lesson3.5_range/solution/RxSwiftHello/RxSwiftHello.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /lesson3.6_interval/problem/RxSwiftHello/RxSwiftHello.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /lesson3.6_interval/solution/RxSwiftHello/RxSwiftHello.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /lesson3.7_timer/problem/RxSwiftHello/RxSwiftHello.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /lesson3.7_timer/solution/RxSwiftHello/RxSwiftHello.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /lesson3.8_doOn/solution/RxSwiftHello/RxSwiftHello.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /lesson3.2_repeatElement/problem/RxSwiftHello/RxSwiftHello.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /lesson3.2_repeatElement/solution/RxSwiftHello/RxSwiftHello.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /lesson3.4_sequenceOf/problem/RxSwiftHello/RxSwiftHello.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /lesson3.4_sequenceOf/solution/RxSwiftHello/RxSwiftHello.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /lesson1_bootstrapping/solution/RxBootstrapping/RxBootstrapping.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /lesson5.3_rx_constant/problem/RxSwiftMarginDemo/RxSwiftMarginDemo.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /lesson5.3_rx_constant/solution/RxSwiftMarginDemo/RxSwiftMarginDemo.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /lesson5.2_rx_notification/problem/RxSwiftNotifications/RxSwiftNotifications.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /lesson5.2_rx_notification/solution/RxSwiftNotifications/RxSwiftNotifications.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /lesson5.1_uiscrollview_rxcontentOffset/problem/RxSwiftUIScrollView/RxSwiftUIScrollView.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /lesson5.1_uiscrollview_rxcontentOffset/solution/RxSwiftUIScrollView/RxSwiftUIScrollView.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /lesson3.3_just/problem/RxSwiftHello/RxSwiftHello.xcodeproj/project.xcworkspace/xcuserdata/cell.xcuserdatad/UserInterfaceState.xcuserstate: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cellularmitosis/LearningRxSwift/HEAD/lesson3.3_just/problem/RxSwiftHello/RxSwiftHello.xcodeproj/project.xcworkspace/xcuserdata/cell.xcuserdatad/UserInterfaceState.xcuserstate -------------------------------------------------------------------------------- /lesson3.3_just/solution/RxSwiftHello/RxSwiftHello.xcodeproj/project.xcworkspace/xcuserdata/cell.xcuserdatad/UserInterfaceState.xcuserstate: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cellularmitosis/LearningRxSwift/HEAD/lesson3.3_just/solution/RxSwiftHello/RxSwiftHello.xcodeproj/project.xcworkspace/xcuserdata/cell.xcuserdatad/UserInterfaceState.xcuserstate -------------------------------------------------------------------------------- /lesson3.5_range/problem/RxSwiftHello/RxSwiftHello.xcodeproj/project.xcworkspace/xcuserdata/cell.xcuserdatad/UserInterfaceState.xcuserstate: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cellularmitosis/LearningRxSwift/HEAD/lesson3.5_range/problem/RxSwiftHello/RxSwiftHello.xcodeproj/project.xcworkspace/xcuserdata/cell.xcuserdatad/UserInterfaceState.xcuserstate -------------------------------------------------------------------------------- /lesson3.7_timer/problem/RxSwiftHello/RxSwiftHello.xcodeproj/project.xcworkspace/xcuserdata/cell.xcuserdatad/UserInterfaceState.xcuserstate: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cellularmitosis/LearningRxSwift/HEAD/lesson3.7_timer/problem/RxSwiftHello/RxSwiftHello.xcodeproj/project.xcworkspace/xcuserdata/cell.xcuserdatad/UserInterfaceState.xcuserstate -------------------------------------------------------------------------------- /lesson3.8_doOn/problem/RxSwiftHello/RxSwiftHello.xcodeproj/project.xcworkspace/xcuserdata/cell.xcuserdatad/UserInterfaceState.xcuserstate: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cellularmitosis/LearningRxSwift/HEAD/lesson3.8_doOn/problem/RxSwiftHello/RxSwiftHello.xcodeproj/project.xcworkspace/xcuserdata/cell.xcuserdatad/UserInterfaceState.xcuserstate -------------------------------------------------------------------------------- /lesson3.8_doOn/solution/RxSwiftHello/RxSwiftHello.xcodeproj/project.xcworkspace/xcuserdata/cell.xcuserdatad/UserInterfaceState.xcuserstate: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cellularmitosis/LearningRxSwift/HEAD/lesson3.8_doOn/solution/RxSwiftHello/RxSwiftHello.xcodeproj/project.xcworkspace/xcuserdata/cell.xcuserdatad/UserInterfaceState.xcuserstate -------------------------------------------------------------------------------- /lesson2.3_map/problem/RxSwiftButtonBackgroundColorDemo/RxSwiftButtonBackgroundColorDemo.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /lesson2.3_map/solution/RxSwiftButtonBackgroundColorDemo/RxSwiftButtonBackgroundColorDemo.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /lesson3.5_range/solution/RxSwiftHello/RxSwiftHello.xcodeproj/project.xcworkspace/xcuserdata/cell.xcuserdatad/UserInterfaceState.xcuserstate: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cellularmitosis/LearningRxSwift/HEAD/lesson3.5_range/solution/RxSwiftHello/RxSwiftHello.xcodeproj/project.xcworkspace/xcuserdata/cell.xcuserdatad/UserInterfaceState.xcuserstate -------------------------------------------------------------------------------- /lesson3.7_timer/solution/RxSwiftHello/RxSwiftHello.xcodeproj/project.xcworkspace/xcuserdata/cell.xcuserdatad/UserInterfaceState.xcuserstate: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cellularmitosis/LearningRxSwift/HEAD/lesson3.7_timer/solution/RxSwiftHello/RxSwiftHello.xcodeproj/project.xcworkspace/xcuserdata/cell.xcuserdatad/UserInterfaceState.xcuserstate -------------------------------------------------------------------------------- /lesson3.1_generate/problem/RxSwiftHello/RxSwiftHello.xcodeproj/project.xcworkspace/xcuserdata/cell.xcuserdatad/UserInterfaceState.xcuserstate: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cellularmitosis/LearningRxSwift/HEAD/lesson3.1_generate/problem/RxSwiftHello/RxSwiftHello.xcodeproj/project.xcworkspace/xcuserdata/cell.xcuserdatad/UserInterfaceState.xcuserstate -------------------------------------------------------------------------------- /lesson3.1_generate/solution/RxSwiftHello/RxSwiftHello.xcodeproj/project.xcworkspace/xcuserdata/cell.xcuserdatad/UserInterfaceState.xcuserstate: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cellularmitosis/LearningRxSwift/HEAD/lesson3.1_generate/solution/RxSwiftHello/RxSwiftHello.xcodeproj/project.xcworkspace/xcuserdata/cell.xcuserdatad/UserInterfaceState.xcuserstate -------------------------------------------------------------------------------- /lesson3.4_sequenceOf/problem/RxSwiftHello/RxSwiftHello.xcodeproj/project.xcworkspace/xcuserdata/cell.xcuserdatad/UserInterfaceState.xcuserstate: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cellularmitosis/LearningRxSwift/HEAD/lesson3.4_sequenceOf/problem/RxSwiftHello/RxSwiftHello.xcodeproj/project.xcworkspace/xcuserdata/cell.xcuserdatad/UserInterfaceState.xcuserstate -------------------------------------------------------------------------------- /lesson3.6_interval/problem/RxSwiftHello/RxSwiftHello.xcodeproj/project.xcworkspace/xcuserdata/cell.xcuserdatad/UserInterfaceState.xcuserstate: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cellularmitosis/LearningRxSwift/HEAD/lesson3.6_interval/problem/RxSwiftHello/RxSwiftHello.xcodeproj/project.xcworkspace/xcuserdata/cell.xcuserdatad/UserInterfaceState.xcuserstate -------------------------------------------------------------------------------- /lesson3.6_interval/solution/RxSwiftHello/RxSwiftHello.xcodeproj/project.xcworkspace/xcuserdata/cell.xcuserdatad/UserInterfaceState.xcuserstate: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cellularmitosis/LearningRxSwift/HEAD/lesson3.6_interval/solution/RxSwiftHello/RxSwiftHello.xcodeproj/project.xcworkspace/xcuserdata/cell.xcuserdatad/UserInterfaceState.xcuserstate -------------------------------------------------------------------------------- /lesson2.2_disposebag/problem/RxSwiftButtonBackgroundColorDemo/RxSwiftButtonBackgroundColorDemo.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /lesson2.2_disposebag/solution/RxSwiftButtonBackgroundColorDemo/RxSwiftButtonBackgroundColorDemo.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /lesson3.4_sequenceOf/solution/RxSwiftHello/RxSwiftHello.xcodeproj/project.xcworkspace/xcuserdata/cell.xcuserdatad/UserInterfaceState.xcuserstate: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cellularmitosis/LearningRxSwift/HEAD/lesson3.4_sequenceOf/solution/RxSwiftHello/RxSwiftHello.xcodeproj/project.xcworkspace/xcuserdata/cell.xcuserdatad/UserInterfaceState.xcuserstate -------------------------------------------------------------------------------- /lesson2.1_backgroundcolor/problem/RxSwiftButtonBackgroundColorDemo/RxSwiftButtonBackgroundColorDemo.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /lesson2.1_backgroundcolor/solution/RxSwiftButtonBackgroundColorDemo/RxSwiftButtonBackgroundColorDemo.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /lesson3.2_repeatElement/problem/RxSwiftHello/RxSwiftHello.xcodeproj/project.xcworkspace/xcuserdata/cell.xcuserdatad/UserInterfaceState.xcuserstate: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cellularmitosis/LearningRxSwift/HEAD/lesson3.2_repeatElement/problem/RxSwiftHello/RxSwiftHello.xcodeproj/project.xcworkspace/xcuserdata/cell.xcuserdatad/UserInterfaceState.xcuserstate -------------------------------------------------------------------------------- /lesson3.2_repeatElement/solution/RxSwiftHello/RxSwiftHello.xcodeproj/project.xcworkspace/xcuserdata/cell.xcuserdatad/UserInterfaceState.xcuserstate: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cellularmitosis/LearningRxSwift/HEAD/lesson3.2_repeatElement/solution/RxSwiftHello/RxSwiftHello.xcodeproj/project.xcworkspace/xcuserdata/cell.xcuserdatad/UserInterfaceState.xcuserstate -------------------------------------------------------------------------------- /lesson1_bootstrapping/solution/RxBootstrapping/RxBootstrapping.xcodeproj/project.xcworkspace/xcuserdata/cell.xcuserdatad/UserInterfaceState.xcuserstate: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cellularmitosis/LearningRxSwift/HEAD/lesson1_bootstrapping/solution/RxBootstrapping/RxBootstrapping.xcodeproj/project.xcworkspace/xcuserdata/cell.xcuserdatad/UserInterfaceState.xcuserstate -------------------------------------------------------------------------------- /lesson4.1_reachability/problem/RxSwiftReachabilityBackgroundColorDemo/RxSwiftReachabilityBackgroundColorDemo.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /lesson4.1_reachability/solution/RxSwiftReachabilityBackgroundColorDemo/RxSwiftReachabilityBackgroundColorDemo.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /lesson4.2_behaviorsubject/problem/RxSwiftReachabilityBackgroundColorDemo/RxSwiftReachabilityBackgroundColorDemo.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /lesson4.2_behaviorsubject/solution/RxSwiftReachabilityBackgroundColorDemo/RxSwiftReachabilityBackgroundColorDemo.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /lesson5.3_rx_constant/problem/RxSwiftMarginDemo/RxSwiftMarginDemo.xcodeproj/project.xcworkspace/xcuserdata/cell.xcuserdatad/UserInterfaceState.xcuserstate: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cellularmitosis/LearningRxSwift/HEAD/lesson5.3_rx_constant/problem/RxSwiftMarginDemo/RxSwiftMarginDemo.xcodeproj/project.xcworkspace/xcuserdata/cell.xcuserdatad/UserInterfaceState.xcuserstate -------------------------------------------------------------------------------- /lesson5.3_rx_constant/solution/RxSwiftMarginDemo/RxSwiftMarginDemo.xcodeproj/project.xcworkspace/xcuserdata/cell.xcuserdatad/UserInterfaceState.xcuserstate: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cellularmitosis/LearningRxSwift/HEAD/lesson5.3_rx_constant/solution/RxSwiftMarginDemo/RxSwiftMarginDemo.xcodeproj/project.xcworkspace/xcuserdata/cell.xcuserdatad/UserInterfaceState.xcuserstate -------------------------------------------------------------------------------- /lesson0_rxexample/README.md: -------------------------------------------------------------------------------- 1 | # Lesson 0: RxExample 2 | 3 | ## Problem statement 4 | 5 | Download a copy of RxExample, build it, run it, and start reading through it. 6 | 7 | ## Solution 8 | 9 | Grab the github repo at https://github.com/ReactiveX/RxSwift 10 | 11 | We will be referring to both the `RxSwift` code and `RxExample` code in that repo often in the following lessons. 12 | -------------------------------------------------------------------------------- /lesson5.2_rx_notification/problem/RxSwiftNotifications/RxSwiftNotifications.xcodeproj/project.xcworkspace/xcuserdata/cell.xcuserdatad/UserInterfaceState.xcuserstate: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cellularmitosis/LearningRxSwift/HEAD/lesson5.2_rx_notification/problem/RxSwiftNotifications/RxSwiftNotifications.xcodeproj/project.xcworkspace/xcuserdata/cell.xcuserdatad/UserInterfaceState.xcuserstate -------------------------------------------------------------------------------- /lesson5.2_rx_notification/solution/RxSwiftNotifications/RxSwiftNotifications.xcodeproj/project.xcworkspace/xcuserdata/cell.xcuserdatad/UserInterfaceState.xcuserstate: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cellularmitosis/LearningRxSwift/HEAD/lesson5.2_rx_notification/solution/RxSwiftNotifications/RxSwiftNotifications.xcodeproj/project.xcworkspace/xcuserdata/cell.xcuserdatad/UserInterfaceState.xcuserstate -------------------------------------------------------------------------------- /lesson5.1_uiscrollview_rxcontentOffset/problem/RxSwiftUIScrollView/RxSwiftUIScrollView.xcodeproj/project.xcworkspace/xcuserdata/cell.xcuserdatad/UserInterfaceState.xcuserstate: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cellularmitosis/LearningRxSwift/HEAD/lesson5.1_uiscrollview_rxcontentOffset/problem/RxSwiftUIScrollView/RxSwiftUIScrollView.xcodeproj/project.xcworkspace/xcuserdata/cell.xcuserdatad/UserInterfaceState.xcuserstate -------------------------------------------------------------------------------- /lesson2.3_map/problem/RxSwiftButtonBackgroundColorDemo/RxSwiftButtonBackgroundColorDemo.xcodeproj/project.xcworkspace/xcuserdata/cell.xcuserdatad/UserInterfaceState.xcuserstate: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cellularmitosis/LearningRxSwift/HEAD/lesson2.3_map/problem/RxSwiftButtonBackgroundColorDemo/RxSwiftButtonBackgroundColorDemo.xcodeproj/project.xcworkspace/xcuserdata/cell.xcuserdatad/UserInterfaceState.xcuserstate -------------------------------------------------------------------------------- /lesson2.3_map/solution/RxSwiftButtonBackgroundColorDemo/RxSwiftButtonBackgroundColorDemo.xcodeproj/project.xcworkspace/xcuserdata/cell.xcuserdatad/UserInterfaceState.xcuserstate: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cellularmitosis/LearningRxSwift/HEAD/lesson2.3_map/solution/RxSwiftButtonBackgroundColorDemo/RxSwiftButtonBackgroundColorDemo.xcodeproj/project.xcworkspace/xcuserdata/cell.xcuserdatad/UserInterfaceState.xcuserstate -------------------------------------------------------------------------------- /lesson5.1_uiscrollview_rxcontentOffset/solution/RxSwiftUIScrollView/RxSwiftUIScrollView.xcodeproj/project.xcworkspace/xcuserdata/cell.xcuserdatad/UserInterfaceState.xcuserstate: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cellularmitosis/LearningRxSwift/HEAD/lesson5.1_uiscrollview_rxcontentOffset/solution/RxSwiftUIScrollView/RxSwiftUIScrollView.xcodeproj/project.xcworkspace/xcuserdata/cell.xcuserdatad/UserInterfaceState.xcuserstate -------------------------------------------------------------------------------- /lesson3.3_just/problem/RxSwiftHello/RxSwiftHello/ViewController.swift: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.swift 3 | // RxSwiftHello 4 | // 5 | // Created by Pepas Personal on 11/24/15. 6 | // Copyright © 2015 Pepas Labs. All rights reserved. 7 | // 8 | 9 | import UIKit 10 | 11 | class ViewController: UIViewController { 12 | 13 | override func viewDidLoad() { 14 | super.viewDidLoad() 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /lesson3.5_range/problem/RxSwiftHello/RxSwiftHello/ViewController.swift: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.swift 3 | // RxSwiftHello 4 | // 5 | // Created by Pepas Personal on 11/24/15. 6 | // Copyright © 2015 Pepas Labs. All rights reserved. 7 | // 8 | 9 | import UIKit 10 | 11 | class ViewController: UIViewController { 12 | 13 | override func viewDidLoad() { 14 | super.viewDidLoad() 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /lesson3.7_timer/problem/RxSwiftHello/RxSwiftHello/ViewController.swift: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.swift 3 | // RxSwiftHello 4 | // 5 | // Created by Pepas Personal on 11/24/15. 6 | // Copyright © 2015 Pepas Labs. All rights reserved. 7 | // 8 | 9 | import UIKit 10 | 11 | class ViewController: UIViewController { 12 | 13 | override func viewDidLoad() { 14 | super.viewDidLoad() 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /lesson2.2_disposebag/problem/RxSwiftButtonBackgroundColorDemo/RxSwiftButtonBackgroundColorDemo.xcodeproj/project.xcworkspace/xcuserdata/cell.xcuserdatad/UserInterfaceState.xcuserstate: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cellularmitosis/LearningRxSwift/HEAD/lesson2.2_disposebag/problem/RxSwiftButtonBackgroundColorDemo/RxSwiftButtonBackgroundColorDemo.xcodeproj/project.xcworkspace/xcuserdata/cell.xcuserdatad/UserInterfaceState.xcuserstate -------------------------------------------------------------------------------- /lesson3.1_generate/problem/RxSwiftHello/RxSwiftHello/ViewController.swift: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.swift 3 | // RxSwiftHello 4 | // 5 | // Created by Pepas Personal on 11/24/15. 6 | // Copyright © 2015 Pepas Labs. All rights reserved. 7 | // 8 | 9 | import UIKit 10 | 11 | class ViewController: UIViewController { 12 | 13 | override func viewDidLoad() { 14 | super.viewDidLoad() 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /lesson3.4_sequenceOf/problem/RxSwiftHello/RxSwiftHello/ViewController.swift: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.swift 3 | // RxSwiftHello 4 | // 5 | // Created by Pepas Personal on 11/24/15. 6 | // Copyright © 2015 Pepas Labs. All rights reserved. 7 | // 8 | 9 | import UIKit 10 | 11 | class ViewController: UIViewController { 12 | 13 | override func viewDidLoad() { 14 | super.viewDidLoad() 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /lesson3.6_interval/problem/RxSwiftHello/RxSwiftHello/ViewController.swift: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.swift 3 | // RxSwiftHello 4 | // 5 | // Created by Pepas Personal on 11/24/15. 6 | // Copyright © 2015 Pepas Labs. All rights reserved. 7 | // 8 | 9 | import UIKit 10 | 11 | class ViewController: UIViewController { 12 | 13 | override func viewDidLoad() { 14 | super.viewDidLoad() 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /lesson2.2_disposebag/solution/RxSwiftButtonBackgroundColorDemo/RxSwiftButtonBackgroundColorDemo.xcodeproj/project.xcworkspace/xcuserdata/cell.xcuserdatad/UserInterfaceState.xcuserstate: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cellularmitosis/LearningRxSwift/HEAD/lesson2.2_disposebag/solution/RxSwiftButtonBackgroundColorDemo/RxSwiftButtonBackgroundColorDemo.xcodeproj/project.xcworkspace/xcuserdata/cell.xcuserdatad/UserInterfaceState.xcuserstate -------------------------------------------------------------------------------- /lesson3.2_repeatElement/problem/RxSwiftHello/RxSwiftHello/ViewController.swift: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.swift 3 | // RxSwiftHello 4 | // 5 | // Created by Pepas Personal on 11/24/15. 6 | // Copyright © 2015 Pepas Labs. All rights reserved. 7 | // 8 | 9 | import UIKit 10 | 11 | class ViewController: UIViewController { 12 | 13 | override func viewDidLoad() { 14 | super.viewDidLoad() 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /lesson2.1_backgroundcolor/problem/RxSwiftButtonBackgroundColorDemo/RxSwiftButtonBackgroundColorDemo.xcodeproj/project.xcworkspace/xcuserdata/cell.xcuserdatad/UserInterfaceState.xcuserstate: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cellularmitosis/LearningRxSwift/HEAD/lesson2.1_backgroundcolor/problem/RxSwiftButtonBackgroundColorDemo/RxSwiftButtonBackgroundColorDemo.xcodeproj/project.xcworkspace/xcuserdata/cell.xcuserdatad/UserInterfaceState.xcuserstate -------------------------------------------------------------------------------- /lesson2.1_backgroundcolor/solution/RxSwiftButtonBackgroundColorDemo/RxSwiftButtonBackgroundColorDemo.xcodeproj/project.xcworkspace/xcuserdata/cell.xcuserdatad/UserInterfaceState.xcuserstate: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cellularmitosis/LearningRxSwift/HEAD/lesson2.1_backgroundcolor/solution/RxSwiftButtonBackgroundColorDemo/RxSwiftButtonBackgroundColorDemo.xcodeproj/project.xcworkspace/xcuserdata/cell.xcuserdatad/UserInterfaceState.xcuserstate -------------------------------------------------------------------------------- /open_problem.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | set -e 4 | 5 | # if you get tired of running "carthage update" before opening up 6 | # each project, you can instead copy your Carthage folder into /tmp 7 | # and then run this script. 8 | 9 | # usage example: ./open.sh 3.7 10 | 11 | if [ ! -e lesson${1}_*/problem/*/Carthage ] 12 | then 13 | cp -a /tmp/Carthage lesson${1}_*/problem/*/ 14 | fi 15 | 16 | open lesson${1}_*/problem/*/*.xcodeproj 17 | -------------------------------------------------------------------------------- /open_solution.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | set -e 4 | 5 | # if you get tired of running "carthage update" before opening up 6 | # each project, you can instead copy your Carthage folder into /tmp 7 | # and then run this script. 8 | 9 | # usage example: ./open.sh 3.7 10 | 11 | if [ ! -e lesson${1}_*/solution/*/Carthage ] 12 | then 13 | cp -a /tmp/Carthage lesson${1}_*/solution/*/ 14 | fi 15 | 16 | open lesson${1}_*/solution/*/*.xcodeproj 17 | -------------------------------------------------------------------------------- /lesson4.1_reachability/problem/RxSwiftReachabilityBackgroundColorDemo/RxSwiftReachabilityBackgroundColorDemo.xcodeproj/project.xcworkspace/xcuserdata/cell.xcuserdatad/UserInterfaceState.xcuserstate: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cellularmitosis/LearningRxSwift/HEAD/lesson4.1_reachability/problem/RxSwiftReachabilityBackgroundColorDemo/RxSwiftReachabilityBackgroundColorDemo.xcodeproj/project.xcworkspace/xcuserdata/cell.xcuserdatad/UserInterfaceState.xcuserstate -------------------------------------------------------------------------------- /lesson4.1_reachability/solution/RxSwiftReachabilityBackgroundColorDemo/RxSwiftReachabilityBackgroundColorDemo.xcodeproj/project.xcworkspace/xcuserdata/cell.xcuserdatad/UserInterfaceState.xcuserstate: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cellularmitosis/LearningRxSwift/HEAD/lesson4.1_reachability/solution/RxSwiftReachabilityBackgroundColorDemo/RxSwiftReachabilityBackgroundColorDemo.xcodeproj/project.xcworkspace/xcuserdata/cell.xcuserdatad/UserInterfaceState.xcuserstate -------------------------------------------------------------------------------- /lesson4.2_behaviorsubject/problem/RxSwiftReachabilityBackgroundColorDemo/RxSwiftReachabilityBackgroundColorDemo.xcodeproj/project.xcworkspace/xcuserdata/cell.xcuserdatad/UserInterfaceState.xcuserstate: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cellularmitosis/LearningRxSwift/HEAD/lesson4.2_behaviorsubject/problem/RxSwiftReachabilityBackgroundColorDemo/RxSwiftReachabilityBackgroundColorDemo.xcodeproj/project.xcworkspace/xcuserdata/cell.xcuserdatad/UserInterfaceState.xcuserstate -------------------------------------------------------------------------------- /lesson4.2_behaviorsubject/solution/RxSwiftReachabilityBackgroundColorDemo/RxSwiftReachabilityBackgroundColorDemo.xcodeproj/project.xcworkspace/xcuserdata/cell.xcuserdatad/UserInterfaceState.xcuserstate: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cellularmitosis/LearningRxSwift/HEAD/lesson4.2_behaviorsubject/solution/RxSwiftReachabilityBackgroundColorDemo/RxSwiftReachabilityBackgroundColorDemo.xcodeproj/project.xcworkspace/xcuserdata/cell.xcuserdatad/UserInterfaceState.xcuserstate -------------------------------------------------------------------------------- /lesson5.2_rx_notification/problem/RxSwiftNotifications/RxSwiftNotifications/ViewController.swift: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.swift 3 | // RxSwiftNotifications 4 | // 5 | // Created by Pepas Personal on 11/28/15. 6 | // Copyright © 2015 Pepas Labs. All rights reserved. 7 | // 8 | 9 | import UIKit 10 | import RxSwift 11 | import RxCocoa 12 | 13 | class ViewController: UIViewController 14 | { 15 | override func viewDidLoad() 16 | { 17 | super.viewDidLoad() 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /lesson5.1_uiscrollview_rxcontentOffset/problem/RxSwiftUIScrollView/RxSwiftUIScrollView/ViewController.swift: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.swift 3 | // RxSwiftUIScrollView 4 | // 5 | // Created by Pepas Personal on 11/28/15. 6 | // Copyright © 2015 Pepas Labs. All rights reserved. 7 | // 8 | 9 | import UIKit 10 | import RxSwift 11 | import RxCocoa 12 | 13 | class ViewController: UIViewController 14 | { 15 | @IBOutlet weak var scrollView: UIScrollView! 16 | @IBOutlet weak var contentView: UIView! 17 | @IBOutlet weak var label: UILabel! 18 | } 19 | -------------------------------------------------------------------------------- /lesson4.1_reachability/problem/RxSwiftReachabilityBackgroundColorDemo/RxSwiftReachabilityBackgroundColorDemo/ViewController.swift: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.swift 3 | // RxSwiftReachabilityBackgroundColorDemo 4 | // 5 | // Created by Pepas Personal on 11/22/15. 6 | // Copyright © 2015 Pepas Labs. All rights reserved. 7 | // 8 | 9 | import UIKit 10 | 11 | class ViewController: UIViewController { 12 | 13 | override func viewDidLoad() { 14 | super.viewDidLoad() 15 | // Do any additional setup after loading the view, typically from a nib. 16 | } 17 | 18 | } 19 | 20 | -------------------------------------------------------------------------------- /lesson1_bootstrapping/solution/RxBootstrapping/RxBootstrapping/ViewController.swift: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.swift 3 | // RxBootstrapping 4 | // 5 | // Created by Pepas Personal on 11/22/15. 6 | // Copyright © 2015 Pepas Labs. All rights reserved. 7 | // 8 | 9 | import UIKit 10 | 11 | class ViewController: UIViewController { 12 | 13 | override func viewDidLoad() { 14 | super.viewDidLoad() 15 | // Do any additional setup after loading the view, typically from a nib. 16 | } 17 | 18 | override func didReceiveMemoryWarning() { 19 | super.didReceiveMemoryWarning() 20 | // Dispose of any resources that can be recreated. 21 | } 22 | 23 | 24 | } 25 | 26 | -------------------------------------------------------------------------------- /lesson2.2_disposebag/problem/RxSwiftButtonBackgroundColorDemo/RxSwiftButtonBackgroundColorDemo/ViewController.swift: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.swift 3 | // RxSwiftButtonBackgroundColorDemo 4 | // 5 | // Created by Pepas Personal on 11/22/15. 6 | // Copyright © 2015 Pepas Labs. All rights reserved. 7 | // 8 | 9 | import UIKit 10 | import RxSwift 11 | import RxCocoa 12 | 13 | class ViewController: UIViewController { 14 | 15 | @IBOutlet weak var button: UIButton! 16 | 17 | override func viewDidLoad() { 18 | super.viewDidLoad() 19 | 20 | button.rx_tap.subscribeNext { [weak self] () -> Void in 21 | self?.view.backgroundColor = UIColor.greenColor() 22 | } 23 | 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /lesson2.1_backgroundcolor/solution/RxSwiftButtonBackgroundColorDemo/RxSwiftButtonBackgroundColorDemo/ViewController.swift: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.swift 3 | // RxSwiftButtonBackgroundColorDemo 4 | // 5 | // Created by Pepas Personal on 11/22/15. 6 | // Copyright © 2015 Pepas Labs. All rights reserved. 7 | // 8 | 9 | import UIKit 10 | import RxSwift 11 | import RxCocoa 12 | 13 | class ViewController: UIViewController { 14 | 15 | @IBOutlet weak var button: UIButton! 16 | 17 | override func viewDidLoad() { 18 | super.viewDidLoad() 19 | 20 | button.rx_tap.subscribeNext { [weak self] () -> Void in 21 | self?.view.backgroundColor = UIColor.greenColor() 22 | } 23 | 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /lesson2.1_backgroundcolor/problem/RxSwiftButtonBackgroundColorDemo/RxSwiftButtonBackgroundColorDemo/ViewController.swift: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.swift 3 | // RxSwiftButtonBackgroundColorDemo 4 | // 5 | // Created by Pepas Personal on 11/22/15. 6 | // Copyright © 2015 Pepas Labs. All rights reserved. 7 | // 8 | 9 | import UIKit 10 | 11 | class ViewController: UIViewController { 12 | 13 | override func viewDidLoad() { 14 | super.viewDidLoad() 15 | // Do any additional setup after loading the view, typically from a nib. 16 | } 17 | 18 | override func didReceiveMemoryWarning() { 19 | super.didReceiveMemoryWarning() 20 | // Dispose of any resources that can be recreated. 21 | } 22 | 23 | 24 | } 25 | 26 | -------------------------------------------------------------------------------- /lesson2.3_map/problem/RxSwiftButtonBackgroundColorDemo/RxSwiftButtonBackgroundColorDemo/ViewController.swift: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.swift 3 | // RxSwiftButtonBackgroundColorDemo 4 | // 5 | // Created by Pepas Personal on 11/22/15. 6 | // Copyright © 2015 Pepas Labs. All rights reserved. 7 | // 8 | 9 | import UIKit 10 | import RxSwift 11 | import RxCocoa 12 | 13 | class ViewController: UIViewController { 14 | 15 | @IBOutlet weak var button: UIButton! 16 | 17 | var disposeBag = DisposeBag() 18 | 19 | override func viewDidLoad() { 20 | super.viewDidLoad() 21 | 22 | button.rx_tap.subscribeNext { [weak self] () -> Void in 23 | self?.view.backgroundColor = UIColor.greenColor() 24 | }.addDisposableTo(disposeBag) 25 | 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /lesson3.3_just/solution/RxSwiftHello/RxSwiftHello/ViewController.swift: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.swift 3 | // RxSwiftHello 4 | // 5 | // Created by Pepas Personal on 11/24/15. 6 | // Copyright © 2015 Pepas Labs. All rights reserved. 7 | // 8 | 9 | import UIKit 10 | import RxSwift 11 | import RxCocoa 12 | 13 | class SingleHelloGenerator 14 | { 15 | class func generate() -> Observable 16 | { 17 | return just("hello") 18 | } 19 | } 20 | 21 | class ViewController: UIViewController { 22 | 23 | let disposeBag = DisposeBag() 24 | 25 | override func viewDidLoad() { 26 | super.viewDidLoad() 27 | 28 | SingleHelloGenerator.generate().subscribeNext { (s) -> Void in 29 | debugPrint(s) 30 | }.addDisposableTo(disposeBag) 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /lesson2.2_disposebag/solution/RxSwiftButtonBackgroundColorDemo/RxSwiftButtonBackgroundColorDemo/ViewController.swift: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.swift 3 | // RxSwiftButtonBackgroundColorDemo 4 | // 5 | // Created by Pepas Personal on 11/22/15. 6 | // Copyright © 2015 Pepas Labs. All rights reserved. 7 | // 8 | 9 | import UIKit 10 | import RxSwift 11 | import RxCocoa 12 | 13 | class ViewController: UIViewController { 14 | 15 | @IBOutlet weak var button: UIButton! 16 | 17 | var disposeBag = DisposeBag() 18 | 19 | override func viewDidLoad() { 20 | super.viewDidLoad() 21 | 22 | button.rx_tap.subscribeNext { [weak self] () -> Void in 23 | self?.view.backgroundColor = UIColor.greenColor() 24 | }.addDisposableTo(disposeBag) 25 | 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /lesson3.4_sequenceOf/solution/RxSwiftHello/RxSwiftHello/ViewController.swift: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.swift 3 | // RxSwiftHello 4 | // 5 | // Created by Pepas Personal on 11/24/15. 6 | // Copyright © 2015 Pepas Labs. All rights reserved. 7 | // 8 | 9 | import UIKit 10 | import RxSwift 11 | import RxCocoa 12 | 13 | class TripleHelloGenerator 14 | { 15 | class func generate() -> Observable 16 | { 17 | return sequenceOf("hello","hello","hello") 18 | } 19 | } 20 | 21 | class ViewController: UIViewController { 22 | 23 | let disposeBag = DisposeBag() 24 | 25 | override func viewDidLoad() { 26 | super.viewDidLoad() 27 | 28 | TripleHelloGenerator.generate().subscribeNext { (s) -> Void in 29 | debugPrint(s) 30 | }.addDisposableTo(disposeBag) 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /lesson3.2_repeatElement/solution/RxSwiftHello/RxSwiftHello/ViewController.swift: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.swift 3 | // RxSwiftHello 4 | // 5 | // Created by Pepas Personal on 11/24/15. 6 | // Copyright © 2015 Pepas Labs. All rights reserved. 7 | // 8 | 9 | import UIKit 10 | import RxSwift 11 | import RxCocoa 12 | 13 | class InfiniteHelloGenerator 14 | { 15 | class func generate() -> Observable 16 | { 17 | return repeatElement("hello", MainScheduler.sharedInstance) 18 | } 19 | } 20 | 21 | class ViewController: UIViewController { 22 | 23 | let disposeBag = DisposeBag() 24 | 25 | override func viewDidLoad() { 26 | super.viewDidLoad() 27 | 28 | InfiniteHelloGenerator.generate().subscribeNext { (s) -> Void in 29 | debugPrint(s) 30 | }.addDisposableTo(disposeBag) 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /lesson3.3_just/problem/RxSwiftHello/RxSwiftHelloTests/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | $(PRODUCT_BUNDLE_IDENTIFIER) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | $(PRODUCT_NAME) 15 | CFBundlePackageType 16 | BNDL 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | 1 23 | 24 | 25 | -------------------------------------------------------------------------------- /lesson3.8_doOn/problem/RxSwiftHello/RxSwiftHelloTests/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | $(PRODUCT_BUNDLE_IDENTIFIER) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | $(PRODUCT_NAME) 15 | CFBundlePackageType 16 | BNDL 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | 1 23 | 24 | 25 | -------------------------------------------------------------------------------- /lesson3.1_generate/problem/RxSwiftHello/RxSwiftHelloTests/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | $(PRODUCT_BUNDLE_IDENTIFIER) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | $(PRODUCT_NAME) 15 | CFBundlePackageType 16 | BNDL 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | 1 23 | 24 | 25 | -------------------------------------------------------------------------------- /lesson3.1_generate/solution/RxSwiftHello/RxSwiftHelloTests/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | $(PRODUCT_BUNDLE_IDENTIFIER) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | $(PRODUCT_NAME) 15 | CFBundlePackageType 16 | BNDL 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | 1 23 | 24 | 25 | -------------------------------------------------------------------------------- /lesson3.3_just/problem/RxSwiftHello/RxSwiftHelloUITests/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | $(PRODUCT_BUNDLE_IDENTIFIER) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | $(PRODUCT_NAME) 15 | CFBundlePackageType 16 | BNDL 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | 1 23 | 24 | 25 | -------------------------------------------------------------------------------- /lesson3.3_just/solution/RxSwiftHello/RxSwiftHelloTests/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | $(PRODUCT_BUNDLE_IDENTIFIER) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | $(PRODUCT_NAME) 15 | CFBundlePackageType 16 | BNDL 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | 1 23 | 24 | 25 | -------------------------------------------------------------------------------- /lesson3.3_just/solution/RxSwiftHello/RxSwiftHelloUITests/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | $(PRODUCT_BUNDLE_IDENTIFIER) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | $(PRODUCT_NAME) 15 | CFBundlePackageType 16 | BNDL 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | 1 23 | 24 | 25 | -------------------------------------------------------------------------------- /lesson3.5_range/problem/RxSwiftHello/RxSwiftHelloTests/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | $(PRODUCT_BUNDLE_IDENTIFIER) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | $(PRODUCT_NAME) 15 | CFBundlePackageType 16 | BNDL 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | 1 23 | 24 | 25 | -------------------------------------------------------------------------------- /lesson3.5_range/problem/RxSwiftHello/RxSwiftHelloUITests/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | $(PRODUCT_BUNDLE_IDENTIFIER) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | $(PRODUCT_NAME) 15 | CFBundlePackageType 16 | BNDL 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | 1 23 | 24 | 25 | -------------------------------------------------------------------------------- /lesson3.5_range/solution/RxSwiftHello/RxSwiftHelloTests/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | $(PRODUCT_BUNDLE_IDENTIFIER) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | $(PRODUCT_NAME) 15 | CFBundlePackageType 16 | BNDL 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | 1 23 | 24 | 25 | -------------------------------------------------------------------------------- /lesson3.5_range/solution/RxSwiftHello/RxSwiftHelloUITests/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | $(PRODUCT_BUNDLE_IDENTIFIER) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | $(PRODUCT_NAME) 15 | CFBundlePackageType 16 | BNDL 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | 1 23 | 24 | 25 | -------------------------------------------------------------------------------- /lesson3.6_interval/problem/RxSwiftHello/RxSwiftHelloTests/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | $(PRODUCT_BUNDLE_IDENTIFIER) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | $(PRODUCT_NAME) 15 | CFBundlePackageType 16 | BNDL 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | 1 23 | 24 | 25 | -------------------------------------------------------------------------------- /lesson3.6_interval/solution/RxSwiftHello/RxSwiftHelloTests/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | $(PRODUCT_BUNDLE_IDENTIFIER) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | $(PRODUCT_NAME) 15 | CFBundlePackageType 16 | BNDL 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | 1 23 | 24 | 25 | -------------------------------------------------------------------------------- /lesson3.7_timer/problem/RxSwiftHello/RxSwiftHelloTests/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | $(PRODUCT_BUNDLE_IDENTIFIER) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | $(PRODUCT_NAME) 15 | CFBundlePackageType 16 | BNDL 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | 1 23 | 24 | 25 | -------------------------------------------------------------------------------- /lesson3.7_timer/problem/RxSwiftHello/RxSwiftHelloUITests/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | $(PRODUCT_BUNDLE_IDENTIFIER) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | $(PRODUCT_NAME) 15 | CFBundlePackageType 16 | BNDL 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | 1 23 | 24 | 25 | -------------------------------------------------------------------------------- /lesson3.7_timer/solution/RxSwiftHello/RxSwiftHelloTests/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | $(PRODUCT_BUNDLE_IDENTIFIER) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | $(PRODUCT_NAME) 15 | CFBundlePackageType 16 | BNDL 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | 1 23 | 24 | 25 | -------------------------------------------------------------------------------- /lesson3.7_timer/solution/RxSwiftHello/RxSwiftHelloUITests/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | $(PRODUCT_BUNDLE_IDENTIFIER) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | $(PRODUCT_NAME) 15 | CFBundlePackageType 16 | BNDL 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | 1 23 | 24 | 25 | -------------------------------------------------------------------------------- /lesson3.8_doOn/problem/RxSwiftHello/RxSwiftHelloUITests/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | $(PRODUCT_BUNDLE_IDENTIFIER) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | $(PRODUCT_NAME) 15 | CFBundlePackageType 16 | BNDL 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | 1 23 | 24 | 25 | -------------------------------------------------------------------------------- /lesson3.8_doOn/solution/RxSwiftHello/RxSwiftHelloTests/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | $(PRODUCT_BUNDLE_IDENTIFIER) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | $(PRODUCT_NAME) 15 | CFBundlePackageType 16 | BNDL 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | 1 23 | 24 | 25 | -------------------------------------------------------------------------------- /lesson3.8_doOn/solution/RxSwiftHello/RxSwiftHelloUITests/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | $(PRODUCT_BUNDLE_IDENTIFIER) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | $(PRODUCT_NAME) 15 | CFBundlePackageType 16 | BNDL 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | 1 23 | 24 | 25 | -------------------------------------------------------------------------------- /lesson3.1_generate/problem/RxSwiftHello/RxSwiftHelloUITests/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | $(PRODUCT_BUNDLE_IDENTIFIER) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | $(PRODUCT_NAME) 15 | CFBundlePackageType 16 | BNDL 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | 1 23 | 24 | 25 | -------------------------------------------------------------------------------- /lesson3.1_generate/solution/RxSwiftHello/RxSwiftHelloUITests/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | $(PRODUCT_BUNDLE_IDENTIFIER) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | $(PRODUCT_NAME) 15 | CFBundlePackageType 16 | BNDL 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | 1 23 | 24 | 25 | -------------------------------------------------------------------------------- /lesson3.2_repeatElement/problem/RxSwiftHello/RxSwiftHelloTests/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | $(PRODUCT_BUNDLE_IDENTIFIER) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | $(PRODUCT_NAME) 15 | CFBundlePackageType 16 | BNDL 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | 1 23 | 24 | 25 | -------------------------------------------------------------------------------- /lesson3.2_repeatElement/solution/RxSwiftHello/RxSwiftHelloTests/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | $(PRODUCT_BUNDLE_IDENTIFIER) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | $(PRODUCT_NAME) 15 | CFBundlePackageType 16 | BNDL 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | 1 23 | 24 | 25 | -------------------------------------------------------------------------------- /lesson3.4_sequenceOf/problem/RxSwiftHello/RxSwiftHelloTests/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | $(PRODUCT_BUNDLE_IDENTIFIER) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | $(PRODUCT_NAME) 15 | CFBundlePackageType 16 | BNDL 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | 1 23 | 24 | 25 | -------------------------------------------------------------------------------- /lesson3.4_sequenceOf/problem/RxSwiftHello/RxSwiftHelloUITests/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | $(PRODUCT_BUNDLE_IDENTIFIER) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | $(PRODUCT_NAME) 15 | CFBundlePackageType 16 | BNDL 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | 1 23 | 24 | 25 | -------------------------------------------------------------------------------- /lesson3.4_sequenceOf/solution/RxSwiftHello/RxSwiftHelloTests/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | $(PRODUCT_BUNDLE_IDENTIFIER) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | $(PRODUCT_NAME) 15 | CFBundlePackageType 16 | BNDL 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | 1 23 | 24 | 25 | -------------------------------------------------------------------------------- /lesson3.4_sequenceOf/solution/RxSwiftHello/RxSwiftHelloUITests/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | $(PRODUCT_BUNDLE_IDENTIFIER) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | $(PRODUCT_NAME) 15 | CFBundlePackageType 16 | BNDL 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | 1 23 | 24 | 25 | -------------------------------------------------------------------------------- /lesson3.6_interval/problem/RxSwiftHello/RxSwiftHelloUITests/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | $(PRODUCT_BUNDLE_IDENTIFIER) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | $(PRODUCT_NAME) 15 | CFBundlePackageType 16 | BNDL 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | 1 23 | 24 | 25 | -------------------------------------------------------------------------------- /lesson3.6_interval/solution/RxSwiftHello/RxSwiftHelloUITests/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | $(PRODUCT_BUNDLE_IDENTIFIER) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | $(PRODUCT_NAME) 15 | CFBundlePackageType 16 | BNDL 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | 1 23 | 24 | 25 | -------------------------------------------------------------------------------- /lesson1_bootstrapping/solution/RxBootstrapping/RxBootstrappingTests/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | $(PRODUCT_BUNDLE_IDENTIFIER) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | $(PRODUCT_NAME) 15 | CFBundlePackageType 16 | BNDL 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | 1 23 | 24 | 25 | -------------------------------------------------------------------------------- /lesson3.2_repeatElement/problem/RxSwiftHello/RxSwiftHelloUITests/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | $(PRODUCT_BUNDLE_IDENTIFIER) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | $(PRODUCT_NAME) 15 | CFBundlePackageType 16 | BNDL 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | 1 23 | 24 | 25 | -------------------------------------------------------------------------------- /lesson3.2_repeatElement/solution/RxSwiftHello/RxSwiftHelloUITests/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | $(PRODUCT_BUNDLE_IDENTIFIER) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | $(PRODUCT_NAME) 15 | CFBundlePackageType 16 | BNDL 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | 1 23 | 24 | 25 | -------------------------------------------------------------------------------- /lesson1_bootstrapping/solution/RxBootstrapping/RxBootstrappingUITests/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | $(PRODUCT_BUNDLE_IDENTIFIER) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | $(PRODUCT_NAME) 15 | CFBundlePackageType 16 | BNDL 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | 1 23 | 24 | 25 | -------------------------------------------------------------------------------- /lesson5.3_rx_constant/problem/RxSwiftMarginDemo/RxSwiftMarginDemoTests/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | $(PRODUCT_BUNDLE_IDENTIFIER) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | $(PRODUCT_NAME) 15 | CFBundlePackageType 16 | BNDL 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | 1 23 | 24 | 25 | -------------------------------------------------------------------------------- /lesson5.3_rx_constant/problem/RxSwiftMarginDemo/RxSwiftMarginDemoUITests/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | $(PRODUCT_BUNDLE_IDENTIFIER) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | $(PRODUCT_NAME) 15 | CFBundlePackageType 16 | BNDL 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | 1 23 | 24 | 25 | -------------------------------------------------------------------------------- /lesson5.3_rx_constant/solution/RxSwiftMarginDemo/RxSwiftMarginDemoTests/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | $(PRODUCT_BUNDLE_IDENTIFIER) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | $(PRODUCT_NAME) 15 | CFBundlePackageType 16 | BNDL 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | 1 23 | 24 | 25 | -------------------------------------------------------------------------------- /lesson5.3_rx_constant/solution/RxSwiftMarginDemo/RxSwiftMarginDemoUITests/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | $(PRODUCT_BUNDLE_IDENTIFIER) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | $(PRODUCT_NAME) 15 | CFBundlePackageType 16 | BNDL 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | 1 23 | 24 | 25 | -------------------------------------------------------------------------------- /lesson3.3_just/problem/RxSwiftHello/RxSwiftHello.xcodeproj/xcuserdata/cell.xcuserdatad/xcschemes/xcschememanagement.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SchemeUserState 6 | 7 | RxSwiftHello.xcscheme 8 | 9 | orderHint 10 | 0 11 | 12 | 13 | SuppressBuildableAutocreation 14 | 15 | 2BACE8621C043B9400A3C241 16 | 17 | primary 18 | 19 | 20 | 2BACE8761C043B9500A3C241 21 | 22 | primary 23 | 24 | 25 | 2BACE8811C043B9500A3C241 26 | 27 | primary 28 | 29 | 30 | 31 | 32 | 33 | -------------------------------------------------------------------------------- /lesson3.3_just/solution/RxSwiftHello/RxSwiftHello.xcodeproj/xcuserdata/cell.xcuserdatad/xcschemes/xcschememanagement.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SchemeUserState 6 | 7 | RxSwiftHello.xcscheme 8 | 9 | orderHint 10 | 0 11 | 12 | 13 | SuppressBuildableAutocreation 14 | 15 | 2BACE8621C043B9400A3C241 16 | 17 | primary 18 | 19 | 20 | 2BACE8761C043B9500A3C241 21 | 22 | primary 23 | 24 | 25 | 2BACE8811C043B9500A3C241 26 | 27 | primary 28 | 29 | 30 | 31 | 32 | 33 | -------------------------------------------------------------------------------- /lesson3.5_range/problem/RxSwiftHello/RxSwiftHello.xcodeproj/xcuserdata/cell.xcuserdatad/xcschemes/xcschememanagement.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SchemeUserState 6 | 7 | RxSwiftHello.xcscheme 8 | 9 | orderHint 10 | 0 11 | 12 | 13 | SuppressBuildableAutocreation 14 | 15 | 2BACE8621C043B9400A3C241 16 | 17 | primary 18 | 19 | 20 | 2BACE8761C043B9500A3C241 21 | 22 | primary 23 | 24 | 25 | 2BACE8811C043B9500A3C241 26 | 27 | primary 28 | 29 | 30 | 31 | 32 | 33 | -------------------------------------------------------------------------------- /lesson3.5_range/solution/RxSwiftHello/RxSwiftHello.xcodeproj/xcuserdata/cell.xcuserdatad/xcschemes/xcschememanagement.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SchemeUserState 6 | 7 | RxSwiftHello.xcscheme 8 | 9 | orderHint 10 | 0 11 | 12 | 13 | SuppressBuildableAutocreation 14 | 15 | 2BACE8621C043B9400A3C241 16 | 17 | primary 18 | 19 | 20 | 2BACE8761C043B9500A3C241 21 | 22 | primary 23 | 24 | 25 | 2BACE8811C043B9500A3C241 26 | 27 | primary 28 | 29 | 30 | 31 | 32 | 33 | -------------------------------------------------------------------------------- /lesson3.7_timer/problem/RxSwiftHello/RxSwiftHello.xcodeproj/xcuserdata/cell.xcuserdatad/xcschemes/xcschememanagement.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SchemeUserState 6 | 7 | RxSwiftHello.xcscheme 8 | 9 | orderHint 10 | 0 11 | 12 | 13 | SuppressBuildableAutocreation 14 | 15 | 2BACE8621C043B9400A3C241 16 | 17 | primary 18 | 19 | 20 | 2BACE8761C043B9500A3C241 21 | 22 | primary 23 | 24 | 25 | 2BACE8811C043B9500A3C241 26 | 27 | primary 28 | 29 | 30 | 31 | 32 | 33 | -------------------------------------------------------------------------------- /lesson3.7_timer/solution/RxSwiftHello/RxSwiftHello.xcodeproj/xcuserdata/cell.xcuserdatad/xcschemes/xcschememanagement.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SchemeUserState 6 | 7 | RxSwiftHello.xcscheme 8 | 9 | orderHint 10 | 0 11 | 12 | 13 | SuppressBuildableAutocreation 14 | 15 | 2BACE8621C043B9400A3C241 16 | 17 | primary 18 | 19 | 20 | 2BACE8761C043B9500A3C241 21 | 22 | primary 23 | 24 | 25 | 2BACE8811C043B9500A3C241 26 | 27 | primary 28 | 29 | 30 | 31 | 32 | 33 | -------------------------------------------------------------------------------- /lesson3.8_doOn/problem/RxSwiftHello/RxSwiftHello.xcodeproj/xcuserdata/cell.xcuserdatad/xcschemes/xcschememanagement.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SchemeUserState 6 | 7 | RxSwiftHello.xcscheme 8 | 9 | orderHint 10 | 0 11 | 12 | 13 | SuppressBuildableAutocreation 14 | 15 | 2BACE8621C043B9400A3C241 16 | 17 | primary 18 | 19 | 20 | 2BACE8761C043B9500A3C241 21 | 22 | primary 23 | 24 | 25 | 2BACE8811C043B9500A3C241 26 | 27 | primary 28 | 29 | 30 | 31 | 32 | 33 | -------------------------------------------------------------------------------- /lesson3.8_doOn/solution/RxSwiftHello/RxSwiftHello.xcodeproj/xcuserdata/cell.xcuserdatad/xcschemes/xcschememanagement.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SchemeUserState 6 | 7 | RxSwiftHello.xcscheme 8 | 9 | orderHint 10 | 0 11 | 12 | 13 | SuppressBuildableAutocreation 14 | 15 | 2BACE8621C043B9400A3C241 16 | 17 | primary 18 | 19 | 20 | 2BACE8761C043B9500A3C241 21 | 22 | primary 23 | 24 | 25 | 2BACE8811C043B9500A3C241 26 | 27 | primary 28 | 29 | 30 | 31 | 32 | 33 | -------------------------------------------------------------------------------- /lesson5.2_rx_notification/problem/RxSwiftNotifications/RxSwiftNotificationsTests/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | $(PRODUCT_BUNDLE_IDENTIFIER) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | $(PRODUCT_NAME) 15 | CFBundlePackageType 16 | BNDL 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | 1 23 | 24 | 25 | -------------------------------------------------------------------------------- /lesson5.2_rx_notification/problem/RxSwiftNotifications/RxSwiftNotificationsUITests/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | $(PRODUCT_BUNDLE_IDENTIFIER) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | $(PRODUCT_NAME) 15 | CFBundlePackageType 16 | BNDL 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | 1 23 | 24 | 25 | -------------------------------------------------------------------------------- /lesson5.2_rx_notification/solution/RxSwiftNotifications/RxSwiftNotificationsTests/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | $(PRODUCT_BUNDLE_IDENTIFIER) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | $(PRODUCT_NAME) 15 | CFBundlePackageType 16 | BNDL 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | 1 23 | 24 | 25 | -------------------------------------------------------------------------------- /lesson5.2_rx_notification/solution/RxSwiftNotifications/RxSwiftNotificationsUITests/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | $(PRODUCT_BUNDLE_IDENTIFIER) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | $(PRODUCT_NAME) 15 | CFBundlePackageType 16 | BNDL 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | 1 23 | 24 | 25 | -------------------------------------------------------------------------------- /lesson3.1_generate/problem/RxSwiftHello/RxSwiftHello.xcodeproj/xcuserdata/cell.xcuserdatad/xcschemes/xcschememanagement.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SchemeUserState 6 | 7 | RxSwiftHello.xcscheme 8 | 9 | orderHint 10 | 0 11 | 12 | 13 | SuppressBuildableAutocreation 14 | 15 | 2BACE8621C043B9400A3C241 16 | 17 | primary 18 | 19 | 20 | 2BACE8761C043B9500A3C241 21 | 22 | primary 23 | 24 | 25 | 2BACE8811C043B9500A3C241 26 | 27 | primary 28 | 29 | 30 | 31 | 32 | 33 | -------------------------------------------------------------------------------- /lesson3.1_generate/solution/RxSwiftHello/RxSwiftHello.xcodeproj/xcuserdata/cell.xcuserdatad/xcschemes/xcschememanagement.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SchemeUserState 6 | 7 | RxSwiftHello.xcscheme 8 | 9 | orderHint 10 | 0 11 | 12 | 13 | SuppressBuildableAutocreation 14 | 15 | 2BACE8621C043B9400A3C241 16 | 17 | primary 18 | 19 | 20 | 2BACE8761C043B9500A3C241 21 | 22 | primary 23 | 24 | 25 | 2BACE8811C043B9500A3C241 26 | 27 | primary 28 | 29 | 30 | 31 | 32 | 33 | -------------------------------------------------------------------------------- /lesson3.4_sequenceOf/problem/RxSwiftHello/RxSwiftHello.xcodeproj/xcuserdata/cell.xcuserdatad/xcschemes/xcschememanagement.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SchemeUserState 6 | 7 | RxSwiftHello.xcscheme 8 | 9 | orderHint 10 | 0 11 | 12 | 13 | SuppressBuildableAutocreation 14 | 15 | 2BACE8621C043B9400A3C241 16 | 17 | primary 18 | 19 | 20 | 2BACE8761C043B9500A3C241 21 | 22 | primary 23 | 24 | 25 | 2BACE8811C043B9500A3C241 26 | 27 | primary 28 | 29 | 30 | 31 | 32 | 33 | -------------------------------------------------------------------------------- /lesson3.4_sequenceOf/solution/RxSwiftHello/RxSwiftHello.xcodeproj/xcuserdata/cell.xcuserdatad/xcschemes/xcschememanagement.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SchemeUserState 6 | 7 | RxSwiftHello.xcscheme 8 | 9 | orderHint 10 | 0 11 | 12 | 13 | SuppressBuildableAutocreation 14 | 15 | 2BACE8621C043B9400A3C241 16 | 17 | primary 18 | 19 | 20 | 2BACE8761C043B9500A3C241 21 | 22 | primary 23 | 24 | 25 | 2BACE8811C043B9500A3C241 26 | 27 | primary 28 | 29 | 30 | 31 | 32 | 33 | -------------------------------------------------------------------------------- /lesson3.6_interval/problem/RxSwiftHello/RxSwiftHello.xcodeproj/xcuserdata/cell.xcuserdatad/xcschemes/xcschememanagement.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SchemeUserState 6 | 7 | RxSwiftHello.xcscheme 8 | 9 | orderHint 10 | 0 11 | 12 | 13 | SuppressBuildableAutocreation 14 | 15 | 2BACE8621C043B9400A3C241 16 | 17 | primary 18 | 19 | 20 | 2BACE8761C043B9500A3C241 21 | 22 | primary 23 | 24 | 25 | 2BACE8811C043B9500A3C241 26 | 27 | primary 28 | 29 | 30 | 31 | 32 | 33 | -------------------------------------------------------------------------------- /lesson3.6_interval/solution/RxSwiftHello/RxSwiftHello.xcodeproj/xcuserdata/cell.xcuserdatad/xcschemes/xcschememanagement.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SchemeUserState 6 | 7 | RxSwiftHello.xcscheme 8 | 9 | orderHint 10 | 0 11 | 12 | 13 | SuppressBuildableAutocreation 14 | 15 | 2BACE8621C043B9400A3C241 16 | 17 | primary 18 | 19 | 20 | 2BACE8761C043B9500A3C241 21 | 22 | primary 23 | 24 | 25 | 2BACE8811C043B9500A3C241 26 | 27 | primary 28 | 29 | 30 | 31 | 32 | 33 | -------------------------------------------------------------------------------- /lesson5.1_uiscrollview_rxcontentOffset/solution/RxSwiftUIScrollView/RxSwiftUIScrollView/ViewController.swift: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.swift 3 | // RxSwiftUIScrollView 4 | // 5 | // Created by Pepas Personal on 11/28/15. 6 | // Copyright © 2015 Pepas Labs. All rights reserved. 7 | // 8 | 9 | import UIKit 10 | import RxSwift 11 | import RxCocoa 12 | 13 | class ViewController: UIViewController 14 | { 15 | @IBOutlet weak var scrollView: UIScrollView! 16 | @IBOutlet weak var contentView: UIView! 17 | @IBOutlet weak var label: UILabel! 18 | 19 | let disposeBag = DisposeBag() 20 | 21 | override func viewDidLoad() 22 | { 23 | super.viewDidLoad() 24 | 25 | scrollView.rx_contentOffset.subscribeNext { [weak self] (point) -> Void in 26 | 27 | self?.label.text = "\(point)" 28 | 29 | }.addDisposableTo(disposeBag) 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /lesson2.3_map/problem/RxSwiftButtonBackgroundColorDemo/RxSwiftButtonBackgroundColorDemoTests/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | $(PRODUCT_BUNDLE_IDENTIFIER) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | $(PRODUCT_NAME) 15 | CFBundlePackageType 16 | BNDL 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | 1 23 | 24 | 25 | -------------------------------------------------------------------------------- /lesson2.3_map/solution/RxSwiftButtonBackgroundColorDemo/RxSwiftButtonBackgroundColorDemoTests/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | $(PRODUCT_BUNDLE_IDENTIFIER) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | $(PRODUCT_NAME) 15 | CFBundlePackageType 16 | BNDL 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | 1 23 | 24 | 25 | -------------------------------------------------------------------------------- /lesson3.2_repeatElement/problem/RxSwiftHello/RxSwiftHello.xcodeproj/xcuserdata/cell.xcuserdatad/xcschemes/xcschememanagement.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SchemeUserState 6 | 7 | RxSwiftHello.xcscheme 8 | 9 | orderHint 10 | 0 11 | 12 | 13 | SuppressBuildableAutocreation 14 | 15 | 2BACE8621C043B9400A3C241 16 | 17 | primary 18 | 19 | 20 | 2BACE8761C043B9500A3C241 21 | 22 | primary 23 | 24 | 25 | 2BACE8811C043B9500A3C241 26 | 27 | primary 28 | 29 | 30 | 31 | 32 | 33 | -------------------------------------------------------------------------------- /lesson3.2_repeatElement/solution/RxSwiftHello/RxSwiftHello.xcodeproj/xcuserdata/cell.xcuserdatad/xcschemes/xcschememanagement.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SchemeUserState 6 | 7 | RxSwiftHello.xcscheme 8 | 9 | orderHint 10 | 0 11 | 12 | 13 | SuppressBuildableAutocreation 14 | 15 | 2BACE8621C043B9400A3C241 16 | 17 | primary 18 | 19 | 20 | 2BACE8761C043B9500A3C241 21 | 22 | primary 23 | 24 | 25 | 2BACE8811C043B9500A3C241 26 | 27 | primary 28 | 29 | 30 | 31 | 32 | 33 | -------------------------------------------------------------------------------- /lesson5.1_uiscrollview_rxcontentOffset/problem/RxSwiftUIScrollView/RxSwiftUIScrollViewTests/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | $(PRODUCT_BUNDLE_IDENTIFIER) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | $(PRODUCT_NAME) 15 | CFBundlePackageType 16 | BNDL 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | 1 23 | 24 | 25 | -------------------------------------------------------------------------------- /lesson5.1_uiscrollview_rxcontentOffset/problem/RxSwiftUIScrollView/RxSwiftUIScrollViewUITests/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | $(PRODUCT_BUNDLE_IDENTIFIER) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | $(PRODUCT_NAME) 15 | CFBundlePackageType 16 | BNDL 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | 1 23 | 24 | 25 | -------------------------------------------------------------------------------- /lesson5.1_uiscrollview_rxcontentOffset/solution/RxSwiftUIScrollView/RxSwiftUIScrollViewTests/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | $(PRODUCT_BUNDLE_IDENTIFIER) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | $(PRODUCT_NAME) 15 | CFBundlePackageType 16 | BNDL 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | 1 23 | 24 | 25 | -------------------------------------------------------------------------------- /lesson1_bootstrapping/solution/RxBootstrapping/RxBootstrapping.xcodeproj/xcuserdata/cell.xcuserdatad/xcschemes/xcschememanagement.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SchemeUserState 6 | 7 | RxBootstrapping.xcscheme 8 | 9 | orderHint 10 | 0 11 | 12 | 13 | SuppressBuildableAutocreation 14 | 15 | 2B4383DE1C02397000C0BA06 16 | 17 | primary 18 | 19 | 20 | 2B4383F21C02397000C0BA06 21 | 22 | primary 23 | 24 | 25 | 2B4383FD1C02397000C0BA06 26 | 27 | primary 28 | 29 | 30 | 31 | 32 | 33 | -------------------------------------------------------------------------------- /lesson2.3_map/problem/RxSwiftButtonBackgroundColorDemo/RxSwiftButtonBackgroundColorDemoUITests/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | $(PRODUCT_BUNDLE_IDENTIFIER) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | $(PRODUCT_NAME) 15 | CFBundlePackageType 16 | BNDL 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | 1 23 | 24 | 25 | -------------------------------------------------------------------------------- /lesson2.3_map/solution/RxSwiftButtonBackgroundColorDemo/RxSwiftButtonBackgroundColorDemoUITests/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | $(PRODUCT_BUNDLE_IDENTIFIER) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | $(PRODUCT_NAME) 15 | CFBundlePackageType 16 | BNDL 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | 1 23 | 24 | 25 | -------------------------------------------------------------------------------- /lesson5.1_uiscrollview_rxcontentOffset/solution/RxSwiftUIScrollView/RxSwiftUIScrollViewUITests/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | $(PRODUCT_BUNDLE_IDENTIFIER) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | $(PRODUCT_NAME) 15 | CFBundlePackageType 16 | BNDL 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | 1 23 | 24 | 25 | -------------------------------------------------------------------------------- /lesson2.2_disposebag/problem/RxSwiftButtonBackgroundColorDemo/RxSwiftButtonBackgroundColorDemoTests/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | $(PRODUCT_BUNDLE_IDENTIFIER) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | $(PRODUCT_NAME) 15 | CFBundlePackageType 16 | BNDL 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | 1 23 | 24 | 25 | -------------------------------------------------------------------------------- /lesson2.2_disposebag/problem/RxSwiftButtonBackgroundColorDemo/RxSwiftButtonBackgroundColorDemoUITests/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | $(PRODUCT_BUNDLE_IDENTIFIER) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | $(PRODUCT_NAME) 15 | CFBundlePackageType 16 | BNDL 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | 1 23 | 24 | 25 | -------------------------------------------------------------------------------- /lesson2.2_disposebag/solution/RxSwiftButtonBackgroundColorDemo/RxSwiftButtonBackgroundColorDemoTests/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | $(PRODUCT_BUNDLE_IDENTIFIER) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | $(PRODUCT_NAME) 15 | CFBundlePackageType 16 | BNDL 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | 1 23 | 24 | 25 | -------------------------------------------------------------------------------- /lesson2.2_disposebag/solution/RxSwiftButtonBackgroundColorDemo/RxSwiftButtonBackgroundColorDemoUITests/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | $(PRODUCT_BUNDLE_IDENTIFIER) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | $(PRODUCT_NAME) 15 | CFBundlePackageType 16 | BNDL 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | 1 23 | 24 | 25 | -------------------------------------------------------------------------------- /lesson5.3_rx_constant/problem/RxSwiftMarginDemo/RxSwiftMarginDemo.xcodeproj/xcuserdata/cell.xcuserdatad/xcschemes/xcschememanagement.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SchemeUserState 6 | 7 | RxSwiftMarginDemo.xcscheme 8 | 9 | orderHint 10 | 0 11 | 12 | 13 | SuppressBuildableAutocreation 14 | 15 | 2B385E9B1C0A985900461A5A 16 | 17 | primary 18 | 19 | 20 | 2B385EAF1C0A985900461A5A 21 | 22 | primary 23 | 24 | 25 | 2B385EBA1C0A985900461A5A 26 | 27 | primary 28 | 29 | 30 | 31 | 32 | 33 | -------------------------------------------------------------------------------- /lesson2.1_backgroundcolor/problem/RxSwiftButtonBackgroundColorDemo/RxSwiftButtonBackgroundColorDemoTests/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | $(PRODUCT_BUNDLE_IDENTIFIER) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | $(PRODUCT_NAME) 15 | CFBundlePackageType 16 | BNDL 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | 1 23 | 24 | 25 | -------------------------------------------------------------------------------- /lesson2.1_backgroundcolor/problem/RxSwiftButtonBackgroundColorDemo/RxSwiftButtonBackgroundColorDemoUITests/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | $(PRODUCT_BUNDLE_IDENTIFIER) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | $(PRODUCT_NAME) 15 | CFBundlePackageType 16 | BNDL 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | 1 23 | 24 | 25 | -------------------------------------------------------------------------------- /lesson2.1_backgroundcolor/solution/RxSwiftButtonBackgroundColorDemo/RxSwiftButtonBackgroundColorDemoTests/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | $(PRODUCT_BUNDLE_IDENTIFIER) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | $(PRODUCT_NAME) 15 | CFBundlePackageType 16 | BNDL 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | 1 23 | 24 | 25 | -------------------------------------------------------------------------------- /lesson2.1_backgroundcolor/solution/RxSwiftButtonBackgroundColorDemo/RxSwiftButtonBackgroundColorDemoUITests/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | $(PRODUCT_BUNDLE_IDENTIFIER) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | $(PRODUCT_NAME) 15 | CFBundlePackageType 16 | BNDL 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | 1 23 | 24 | 25 | -------------------------------------------------------------------------------- /lesson5.3_rx_constant/solution/RxSwiftMarginDemo/RxSwiftMarginDemo.xcodeproj/xcuserdata/cell.xcuserdatad/xcschemes/xcschememanagement.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SchemeUserState 6 | 7 | RxSwiftMarginDemo.xcscheme 8 | 9 | orderHint 10 | 0 11 | 12 | 13 | SuppressBuildableAutocreation 14 | 15 | 2B385E9B1C0A985900461A5A 16 | 17 | primary 18 | 19 | 20 | 2B385EAF1C0A985900461A5A 21 | 22 | primary 23 | 24 | 25 | 2B385EBA1C0A985900461A5A 26 | 27 | primary 28 | 29 | 30 | 31 | 32 | 33 | -------------------------------------------------------------------------------- /lesson4.1_reachability/problem/RxSwiftReachabilityBackgroundColorDemo/RxSwiftReachabilityBackgroundColorDemoTests/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | $(PRODUCT_BUNDLE_IDENTIFIER) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | $(PRODUCT_NAME) 15 | CFBundlePackageType 16 | BNDL 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | 1 23 | 24 | 25 | -------------------------------------------------------------------------------- /lesson2.3_map/solution/RxSwiftButtonBackgroundColorDemo/RxSwiftButtonBackgroundColorDemo/ViewController.swift: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.swift 3 | // RxSwiftButtonBackgroundColorDemo 4 | // 5 | // Created by Pepas Personal on 11/22/15. 6 | // Copyright © 2015 Pepas Labs. All rights reserved. 7 | // 8 | 9 | import UIKit 10 | import RxSwift 11 | import RxCocoa 12 | 13 | class ViewController: UIViewController { 14 | 15 | @IBOutlet weak var button: UIButton! 16 | 17 | var disposeBag = DisposeBag() 18 | 19 | override func viewDidLoad() { 20 | super.viewDidLoad() 21 | 22 | button.rx_tap.map { () -> UIColor in 23 | 24 | return UIColor.greenColor() 25 | 26 | }.subscribeNext { [weak self] (color) -> Void in 27 | 28 | self?.view.backgroundColor = color 29 | 30 | }.addDisposableTo(disposeBag) 31 | 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /lesson4.1_reachability/problem/RxSwiftReachabilityBackgroundColorDemo/RxSwiftReachabilityBackgroundColorDemoUITests/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | $(PRODUCT_BUNDLE_IDENTIFIER) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | $(PRODUCT_NAME) 15 | CFBundlePackageType 16 | BNDL 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | 1 23 | 24 | 25 | -------------------------------------------------------------------------------- /lesson4.1_reachability/solution/RxSwiftReachabilityBackgroundColorDemo/RxSwiftReachabilityBackgroundColorDemoTests/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | $(PRODUCT_BUNDLE_IDENTIFIER) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | $(PRODUCT_NAME) 15 | CFBundlePackageType 16 | BNDL 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | 1 23 | 24 | 25 | -------------------------------------------------------------------------------- /lesson4.1_reachability/solution/RxSwiftReachabilityBackgroundColorDemo/RxSwiftReachabilityBackgroundColorDemoUITests/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | $(PRODUCT_BUNDLE_IDENTIFIER) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | $(PRODUCT_NAME) 15 | CFBundlePackageType 16 | BNDL 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | 1 23 | 24 | 25 | -------------------------------------------------------------------------------- /lesson4.2_behaviorsubject/problem/RxSwiftReachabilityBackgroundColorDemo/RxSwiftReachabilityBackgroundColorDemoTests/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | $(PRODUCT_BUNDLE_IDENTIFIER) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | $(PRODUCT_NAME) 15 | CFBundlePackageType 16 | BNDL 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | 1 23 | 24 | 25 | -------------------------------------------------------------------------------- /lesson4.2_behaviorsubject/problem/RxSwiftReachabilityBackgroundColorDemo/RxSwiftReachabilityBackgroundColorDemoUITests/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | $(PRODUCT_BUNDLE_IDENTIFIER) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | $(PRODUCT_NAME) 15 | CFBundlePackageType 16 | BNDL 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | 1 23 | 24 | 25 | -------------------------------------------------------------------------------- /lesson4.2_behaviorsubject/solution/RxSwiftReachabilityBackgroundColorDemo/RxSwiftReachabilityBackgroundColorDemoTests/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | $(PRODUCT_BUNDLE_IDENTIFIER) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | $(PRODUCT_NAME) 15 | CFBundlePackageType 16 | BNDL 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | 1 23 | 24 | 25 | -------------------------------------------------------------------------------- /lesson5.2_rx_notification/problem/RxSwiftNotifications/RxSwiftNotifications.xcodeproj/xcuserdata/cell.xcuserdatad/xcschemes/xcschememanagement.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SchemeUserState 6 | 7 | RxSwiftNotifications.xcscheme 8 | 9 | orderHint 10 | 0 11 | 12 | 13 | SuppressBuildableAutocreation 14 | 15 | 2B385E571C0A267800461A5A 16 | 17 | primary 18 | 19 | 20 | 2B385E6B1C0A267800461A5A 21 | 22 | primary 23 | 24 | 25 | 2B385E761C0A267800461A5A 26 | 27 | primary 28 | 29 | 30 | 31 | 32 | 33 | -------------------------------------------------------------------------------- /lesson5.2_rx_notification/solution/RxSwiftNotifications/RxSwiftNotifications.xcodeproj/xcuserdata/cell.xcuserdatad/xcschemes/xcschememanagement.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SchemeUserState 6 | 7 | RxSwiftNotifications.xcscheme 8 | 9 | orderHint 10 | 0 11 | 12 | 13 | SuppressBuildableAutocreation 14 | 15 | 2B385E571C0A267800461A5A 16 | 17 | primary 18 | 19 | 20 | 2B385E6B1C0A267800461A5A 21 | 22 | primary 23 | 24 | 25 | 2B385E761C0A267800461A5A 26 | 27 | primary 28 | 29 | 30 | 31 | 32 | 33 | -------------------------------------------------------------------------------- /lesson4.2_behaviorsubject/solution/RxSwiftReachabilityBackgroundColorDemo/RxSwiftReachabilityBackgroundColorDemoUITests/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | $(PRODUCT_BUNDLE_IDENTIFIER) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | $(PRODUCT_NAME) 15 | CFBundlePackageType 16 | BNDL 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | 1 23 | 24 | 25 | -------------------------------------------------------------------------------- /lesson5.1_uiscrollview_rxcontentOffset/problem/RxSwiftUIScrollView/RxSwiftUIScrollView.xcodeproj/xcuserdata/cell.xcuserdatad/xcschemes/xcschememanagement.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SchemeUserState 6 | 7 | RxSwiftUIScrollView.xcscheme 8 | 9 | orderHint 10 | 0 11 | 12 | 13 | SuppressBuildableAutocreation 14 | 15 | 2B385E131C0A13E200461A5A 16 | 17 | primary 18 | 19 | 20 | 2B385E271C0A13E200461A5A 21 | 22 | primary 23 | 24 | 25 | 2B385E321C0A13E200461A5A 26 | 27 | primary 28 | 29 | 30 | 31 | 32 | 33 | -------------------------------------------------------------------------------- /lesson5.1_uiscrollview_rxcontentOffset/solution/RxSwiftUIScrollView/RxSwiftUIScrollView.xcodeproj/xcuserdata/cell.xcuserdatad/xcschemes/xcschememanagement.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SchemeUserState 6 | 7 | RxSwiftUIScrollView.xcscheme 8 | 9 | orderHint 10 | 0 11 | 12 | 13 | SuppressBuildableAutocreation 14 | 15 | 2B385E131C0A13E200461A5A 16 | 17 | primary 18 | 19 | 20 | 2B385E271C0A13E200461A5A 21 | 22 | primary 23 | 24 | 25 | 2B385E321C0A13E200461A5A 26 | 27 | primary 28 | 29 | 30 | 31 | 32 | 33 | -------------------------------------------------------------------------------- /lesson2.3_map/problem/RxSwiftButtonBackgroundColorDemo/RxSwiftButtonBackgroundColorDemo.xcodeproj/xcuserdata/cell.xcuserdatad/xcschemes/xcschememanagement.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SchemeUserState 6 | 7 | RxSwiftButtonBackgroundColorDemo.xcscheme 8 | 9 | orderHint 10 | 0 11 | 12 | 13 | SuppressBuildableAutocreation 14 | 15 | 2B4384221C02407200C0BA06 16 | 17 | primary 18 | 19 | 20 | 2B4384361C02407300C0BA06 21 | 22 | primary 23 | 24 | 25 | 2B4384411C02407300C0BA06 26 | 27 | primary 28 | 29 | 30 | 31 | 32 | 33 | -------------------------------------------------------------------------------- /lesson2.3_map/solution/RxSwiftButtonBackgroundColorDemo/RxSwiftButtonBackgroundColorDemo.xcodeproj/xcuserdata/cell.xcuserdatad/xcschemes/xcschememanagement.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SchemeUserState 6 | 7 | RxSwiftButtonBackgroundColorDemo.xcscheme 8 | 9 | orderHint 10 | 0 11 | 12 | 13 | SuppressBuildableAutocreation 14 | 15 | 2B4384221C02407200C0BA06 16 | 17 | primary 18 | 19 | 20 | 2B4384361C02407300C0BA06 21 | 22 | primary 23 | 24 | 25 | 2B4384411C02407300C0BA06 26 | 27 | primary 28 | 29 | 30 | 31 | 32 | 33 | -------------------------------------------------------------------------------- /lesson2.2_disposebag/problem/RxSwiftButtonBackgroundColorDemo/RxSwiftButtonBackgroundColorDemo.xcodeproj/xcuserdata/cell.xcuserdatad/xcschemes/xcschememanagement.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SchemeUserState 6 | 7 | RxSwiftButtonBackgroundColorDemo.xcscheme 8 | 9 | orderHint 10 | 0 11 | 12 | 13 | SuppressBuildableAutocreation 14 | 15 | 2B4384221C02407200C0BA06 16 | 17 | primary 18 | 19 | 20 | 2B4384361C02407300C0BA06 21 | 22 | primary 23 | 24 | 25 | 2B4384411C02407300C0BA06 26 | 27 | primary 28 | 29 | 30 | 31 | 32 | 33 | -------------------------------------------------------------------------------- /lesson2.2_disposebag/solution/RxSwiftButtonBackgroundColorDemo/RxSwiftButtonBackgroundColorDemo.xcodeproj/xcuserdata/cell.xcuserdatad/xcschemes/xcschememanagement.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SchemeUserState 6 | 7 | RxSwiftButtonBackgroundColorDemo.xcscheme 8 | 9 | orderHint 10 | 0 11 | 12 | 13 | SuppressBuildableAutocreation 14 | 15 | 2B4384221C02407200C0BA06 16 | 17 | primary 18 | 19 | 20 | 2B4384361C02407300C0BA06 21 | 22 | primary 23 | 24 | 25 | 2B4384411C02407300C0BA06 26 | 27 | primary 28 | 29 | 30 | 31 | 32 | 33 | -------------------------------------------------------------------------------- /lesson2.1_backgroundcolor/problem/RxSwiftButtonBackgroundColorDemo/RxSwiftButtonBackgroundColorDemo.xcodeproj/xcuserdata/cell.xcuserdatad/xcschemes/xcschememanagement.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SchemeUserState 6 | 7 | RxSwiftButtonBackgroundColorDemo.xcscheme 8 | 9 | orderHint 10 | 0 11 | 12 | 13 | SuppressBuildableAutocreation 14 | 15 | 2B4384221C02407200C0BA06 16 | 17 | primary 18 | 19 | 20 | 2B4384361C02407300C0BA06 21 | 22 | primary 23 | 24 | 25 | 2B4384411C02407300C0BA06 26 | 27 | primary 28 | 29 | 30 | 31 | 32 | 33 | -------------------------------------------------------------------------------- /lesson2.1_backgroundcolor/solution/RxSwiftButtonBackgroundColorDemo/RxSwiftButtonBackgroundColorDemo.xcodeproj/xcuserdata/cell.xcuserdatad/xcschemes/xcschememanagement.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SchemeUserState 6 | 7 | RxSwiftButtonBackgroundColorDemo.xcscheme 8 | 9 | orderHint 10 | 0 11 | 12 | 13 | SuppressBuildableAutocreation 14 | 15 | 2B4384221C02407200C0BA06 16 | 17 | primary 18 | 19 | 20 | 2B4384361C02407300C0BA06 21 | 22 | primary 23 | 24 | 25 | 2B4384411C02407300C0BA06 26 | 27 | primary 28 | 29 | 30 | 31 | 32 | 33 | -------------------------------------------------------------------------------- /lesson4.1_reachability/problem/RxSwiftReachabilityBackgroundColorDemo/RxSwiftReachabilityBackgroundColorDemo.xcodeproj/xcuserdata/cell.xcuserdatad/xcschemes/xcschememanagement.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SchemeUserState 6 | 7 | RxSwiftReachabilityBackgroundColorDemo.xcscheme 8 | 9 | orderHint 10 | 0 11 | 12 | 13 | SuppressBuildableAutocreation 14 | 15 | 2B4384661C027D8D00C0BA06 16 | 17 | primary 18 | 19 | 20 | 2B43847A1C027D8E00C0BA06 21 | 22 | primary 23 | 24 | 25 | 2B4384851C027D8E00C0BA06 26 | 27 | primary 28 | 29 | 30 | 31 | 32 | 33 | -------------------------------------------------------------------------------- /lesson4.1_reachability/solution/RxSwiftReachabilityBackgroundColorDemo/RxSwiftReachabilityBackgroundColorDemo.xcodeproj/xcuserdata/cell.xcuserdatad/xcschemes/xcschememanagement.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SchemeUserState 6 | 7 | RxSwiftReachabilityBackgroundColorDemo.xcscheme 8 | 9 | orderHint 10 | 0 11 | 12 | 13 | SuppressBuildableAutocreation 14 | 15 | 2B4384661C027D8D00C0BA06 16 | 17 | primary 18 | 19 | 20 | 2B43847A1C027D8E00C0BA06 21 | 22 | primary 23 | 24 | 25 | 2B4384851C027D8E00C0BA06 26 | 27 | primary 28 | 29 | 30 | 31 | 32 | 33 | -------------------------------------------------------------------------------- /lesson5.3_rx_constant/problem/RxSwiftMarginDemo/RxSwiftMarginDemo/ViewController.swift: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.swift 3 | // RxSwiftMarginDemo 4 | // 5 | // Created by Pepas Personal on 11/28/15. 6 | // Copyright © 2015 Pepas Labs. All rights reserved. 7 | // 8 | 9 | import UIKit 10 | import RxSwift 11 | import RxCocoa 12 | 13 | class ViewController: UIViewController 14 | { 15 | @IBOutlet weak var contentView: UIView! 16 | @IBOutlet weak var label: UILabel! 17 | 18 | @IBOutlet weak var topMarginConstraint: NSLayoutConstraint! 19 | @IBOutlet weak var leadingMarginConstraint: NSLayoutConstraint! 20 | @IBOutlet weak var trailingMarginConstraint: NSLayoutConstraint! 21 | @IBOutlet weak var bottomMarginConstraint: NSLayoutConstraint! 22 | 23 | @IBOutlet weak var shrinkMarginButton: UIBarButtonItem! 24 | @IBOutlet weak var expandMarginButton: UIBarButtonItem! 25 | 26 | override func viewDidLoad() 27 | { 28 | super.viewDidLoad() 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /lesson4.2_behaviorsubject/problem/RxSwiftReachabilityBackgroundColorDemo/RxSwiftReachabilityBackgroundColorDemo.xcodeproj/xcuserdata/cell.xcuserdatad/xcschemes/xcschememanagement.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SchemeUserState 6 | 7 | RxSwiftReachabilityBackgroundColorDemo.xcscheme 8 | 9 | orderHint 10 | 0 11 | 12 | 13 | SuppressBuildableAutocreation 14 | 15 | 2B4384661C027D8D00C0BA06 16 | 17 | primary 18 | 19 | 20 | 2B43847A1C027D8E00C0BA06 21 | 22 | primary 23 | 24 | 25 | 2B4384851C027D8E00C0BA06 26 | 27 | primary 28 | 29 | 30 | 31 | 32 | 33 | -------------------------------------------------------------------------------- /lesson4.2_behaviorsubject/solution/RxSwiftReachabilityBackgroundColorDemo/RxSwiftReachabilityBackgroundColorDemo.xcodeproj/xcuserdata/cell.xcuserdatad/xcschemes/xcschememanagement.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SchemeUserState 6 | 7 | RxSwiftReachabilityBackgroundColorDemo.xcscheme 8 | 9 | orderHint 10 | 0 11 | 12 | 13 | SuppressBuildableAutocreation 14 | 15 | 2B4384661C027D8D00C0BA06 16 | 17 | primary 18 | 19 | 20 | 2B43847A1C027D8E00C0BA06 21 | 22 | primary 23 | 24 | 25 | 2B4384851C027D8E00C0BA06 26 | 27 | primary 28 | 29 | 30 | 31 | 32 | 33 | -------------------------------------------------------------------------------- /lesson3.5_range/solution/RxSwiftHello/RxSwiftHello/ViewController.swift: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.swift 3 | // RxSwiftHello 4 | // 5 | // Created by Pepas Personal on 11/24/15. 6 | // Copyright © 2015 Pepas Labs. All rights reserved. 7 | // 8 | 9 | import UIKit 10 | import RxSwift 11 | import RxCocoa 12 | 13 | class OneHundredHelloGenerator 14 | { 15 | class func generate() -> Observable 16 | { 17 | let intsObservable = range(0, 100) 18 | 19 | let helloObservable = intsObservable.map({ (_) -> String in 20 | return "hello" 21 | }) 22 | 23 | return helloObservable 24 | } 25 | } 26 | 27 | class ViewController: UIViewController { 28 | 29 | let disposeBag = DisposeBag() 30 | 31 | override func viewDidLoad() { 32 | super.viewDidLoad() 33 | 34 | OneHundredHelloGenerator.generate().subscribeNext { (s) -> Void in 35 | debugPrint(s) 36 | }.addDisposableTo(disposeBag) 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /lesson3.6_interval/solution/RxSwiftHello/RxSwiftHello/ViewController.swift: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.swift 3 | // RxSwiftHello 4 | // 5 | // Created by Pepas Personal on 11/24/15. 6 | // Copyright © 2015 Pepas Labs. All rights reserved. 7 | // 8 | 9 | import UIKit 10 | import RxSwift 11 | import RxCocoa 12 | 13 | class TickHelloGenerator 14 | { 15 | class func generate() -> Observable 16 | { 17 | let tickerObservable = interval(1, MainScheduler.sharedInstance) 18 | 19 | let helloObservable = tickerObservable.map({ (_) -> String in 20 | return "hello" 21 | }) 22 | 23 | return helloObservable 24 | } 25 | } 26 | 27 | class ViewController: UIViewController { 28 | 29 | let disposeBag = DisposeBag() 30 | 31 | override func viewDidLoad() { 32 | super.viewDidLoad() 33 | 34 | TickHelloGenerator.generate().subscribeNext { (s) -> Void in 35 | debugPrint(s) 36 | }.addDisposableTo(disposeBag) 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /lesson3.8_doOn/problem/RxSwiftHello/RxSwiftHello/ViewController.swift: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.swift 3 | // RxSwiftHello 4 | // 5 | // Created by Pepas Personal on 11/24/15. 6 | // Copyright © 2015 Pepas Labs. All rights reserved. 7 | // 8 | 9 | import UIKit 10 | import RxSwift 11 | import RxCocoa 12 | 13 | class TickHelloGenerator 14 | { 15 | class func generate() -> Observable 16 | { 17 | let tickerObservable = interval(1, MainScheduler.sharedInstance) 18 | 19 | let helloObservable = tickerObservable.map({ (_) -> String in 20 | return "hello" 21 | }) 22 | 23 | return helloObservable 24 | } 25 | } 26 | 27 | class ViewController: UIViewController { 28 | 29 | let disposeBag = DisposeBag() 30 | 31 | override func viewDidLoad() { 32 | super.viewDidLoad() 33 | 34 | TickHelloGenerator.generate().subscribeNext { (s) -> Void in 35 | debugPrint(s) 36 | }.addDisposableTo(disposeBag) 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /lesson4.1_reachability/solution/RxSwiftReachabilityBackgroundColorDemo/RxSwiftReachabilityBackgroundColorDemo/ViewController.swift: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.swift 3 | // RxSwiftReachabilityBackgroundColorDemo 4 | // 5 | // Created by Pepas Personal on 11/22/15. 6 | // Copyright © 2015 Pepas Labs. All rights reserved. 7 | // 8 | 9 | import UIKit 10 | import RxSwift 11 | import RxCocoa 12 | 13 | class ViewController: UIViewController { 14 | 15 | private let disposeBag = DisposeBag() 16 | 17 | override func viewDidLoad() { 18 | super.viewDidLoad() 19 | 20 | ReachabilityService.sharedReachabilityService.reachabilityChanged.map { (status) -> UIColor in 21 | switch status 22 | { 23 | case .Reachable: 24 | return UIColor.greenColor() 25 | case .Unreachable: 26 | return UIColor.redColor() 27 | } 28 | }.subscribeNext { [weak self] (color) -> Void in 29 | self?.view.backgroundColor = color 30 | }.addDisposableTo(disposeBag) 31 | } 32 | 33 | } 34 | -------------------------------------------------------------------------------- /lesson4.2_behaviorsubject/problem/RxSwiftReachabilityBackgroundColorDemo/RxSwiftReachabilityBackgroundColorDemo/ViewController.swift: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.swift 3 | // RxSwiftReachabilityBackgroundColorDemo 4 | // 5 | // Created by Pepas Personal on 11/22/15. 6 | // Copyright © 2015 Pepas Labs. All rights reserved. 7 | // 8 | 9 | import UIKit 10 | import RxSwift 11 | import RxCocoa 12 | 13 | class ViewController: UIViewController { 14 | 15 | private let disposeBag = DisposeBag() 16 | 17 | override func viewDidLoad() { 18 | super.viewDidLoad() 19 | 20 | ReachabilityService.sharedReachabilityService.reachabilityChanged.map { (status) -> UIColor in 21 | switch status 22 | { 23 | case .Reachable: 24 | return UIColor.greenColor() 25 | case .Unreachable: 26 | return UIColor.redColor() 27 | } 28 | }.subscribeNext { [weak self] (color) -> Void in 29 | self?.view.backgroundColor = color 30 | }.addDisposableTo(disposeBag) 31 | } 32 | 33 | } 34 | -------------------------------------------------------------------------------- /lesson5.2_rx_notification/solution/RxSwiftNotifications/RxSwiftNotifications/ViewController.swift: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.swift 3 | // RxSwiftNotifications 4 | // 5 | // Created by Pepas Personal on 11/28/15. 6 | // Copyright © 2015 Pepas Labs. All rights reserved. 7 | // 8 | 9 | import UIKit 10 | import RxSwift 11 | import RxCocoa 12 | 13 | class ViewController: UIViewController 14 | { 15 | let disposeBag = DisposeBag() 16 | 17 | override func viewDidLoad() 18 | { 19 | super.viewDidLoad() 20 | 21 | NSNotificationCenter.defaultCenter().rx_notification(UIApplicationDidEnterBackgroundNotification) 22 | .subscribeNext { (notification) -> Void in 23 | debugPrint("didEnterBackground") 24 | }.addDisposableTo(disposeBag) 25 | 26 | NSNotificationCenter.defaultCenter().rx_notification(UIApplicationWillEnterForegroundNotification) 27 | .subscribeNext { (notification) -> Void in 28 | debugPrint("willEnterForeground") 29 | }.addDisposableTo(disposeBag) 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2015 Jason Pepas 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | 23 | -------------------------------------------------------------------------------- /lesson1_bootstrapping/README.md: -------------------------------------------------------------------------------- 1 | # Lesson 1: Bootstrapping 2 | 3 | ## Problem statement 4 | 5 | Make an app which includes RxSwift. 6 | 7 | ## Solution 8 | 9 | Open Xcode, then: 10 | 11 | `Xcode -> File -> New -> Project -> Single View Application` 12 | 13 | Choose "Swift" as the language. 14 | 15 | In the same directory as your `.xcodeproj` file, create a file named `Cartfile` and put this in it: 16 | 17 | ``` 18 | github "ReactiveX/RxSwift" "2.0.0-beta.3" 19 | ``` 20 | 21 | If you haven't already, [install Carthage](https://github.com/Carthage/Carthage). 22 | 23 | Run carthage: 24 | 25 | ``` 26 | carthage update --platform iOS 27 | ``` 28 | 29 | Drag the `*.framework` files from `Carthage/Build/iOS` into the "Embedded Binaries" section of the "General" tab of your project's settings screen. Uncheck "Copy items if needed". 30 | 31 | Verify that your app builds and runs without error. 32 | 33 | ### Solution project 34 | 35 | My solution is included in the [solution](solution) folder of this repo. 36 | 37 | **Note**: I have omitted the `Carthage` folder from the solution, because it includes large binary files. In order to run the solution, you will need to run `carthage update --platform iOS`. 38 | -------------------------------------------------------------------------------- /lesson3.1_generate/problem/RxSwiftHello/RxSwiftHelloTests/RxSwiftHelloTests.swift: -------------------------------------------------------------------------------- 1 | // 2 | // RxSwiftHelloTests.swift 3 | // RxSwiftHelloTests 4 | // 5 | // Created by Pepas Personal on 11/24/15. 6 | // Copyright © 2015 Pepas Labs. All rights reserved. 7 | // 8 | 9 | import XCTest 10 | @testable import RxSwiftHello 11 | 12 | class RxSwiftHelloTests: XCTestCase { 13 | 14 | override func setUp() { 15 | super.setUp() 16 | // Put setup code here. This method is called before the invocation of each test method in the class. 17 | } 18 | 19 | override func tearDown() { 20 | // Put teardown code here. This method is called after the invocation of each test method in the class. 21 | super.tearDown() 22 | } 23 | 24 | func testExample() { 25 | // This is an example of a functional test case. 26 | // Use XCTAssert and related functions to verify your tests produce the correct results. 27 | } 28 | 29 | func testPerformanceExample() { 30 | // This is an example of a performance test case. 31 | self.measureBlock { 32 | // Put the code you want to measure the time of here. 33 | } 34 | } 35 | 36 | } 37 | -------------------------------------------------------------------------------- /lesson3.3_just/problem/RxSwiftHello/RxSwiftHelloTests/RxSwiftHelloTests.swift: -------------------------------------------------------------------------------- 1 | // 2 | // RxSwiftHelloTests.swift 3 | // RxSwiftHelloTests 4 | // 5 | // Created by Pepas Personal on 11/24/15. 6 | // Copyright © 2015 Pepas Labs. All rights reserved. 7 | // 8 | 9 | import XCTest 10 | @testable import RxSwiftHello 11 | 12 | class RxSwiftHelloTests: XCTestCase { 13 | 14 | override func setUp() { 15 | super.setUp() 16 | // Put setup code here. This method is called before the invocation of each test method in the class. 17 | } 18 | 19 | override func tearDown() { 20 | // Put teardown code here. This method is called after the invocation of each test method in the class. 21 | super.tearDown() 22 | } 23 | 24 | func testExample() { 25 | // This is an example of a functional test case. 26 | // Use XCTAssert and related functions to verify your tests produce the correct results. 27 | } 28 | 29 | func testPerformanceExample() { 30 | // This is an example of a performance test case. 31 | self.measureBlock { 32 | // Put the code you want to measure the time of here. 33 | } 34 | } 35 | 36 | } 37 | -------------------------------------------------------------------------------- /lesson3.3_just/solution/RxSwiftHello/RxSwiftHelloTests/RxSwiftHelloTests.swift: -------------------------------------------------------------------------------- 1 | // 2 | // RxSwiftHelloTests.swift 3 | // RxSwiftHelloTests 4 | // 5 | // Created by Pepas Personal on 11/24/15. 6 | // Copyright © 2015 Pepas Labs. All rights reserved. 7 | // 8 | 9 | import XCTest 10 | @testable import RxSwiftHello 11 | 12 | class RxSwiftHelloTests: XCTestCase { 13 | 14 | override func setUp() { 15 | super.setUp() 16 | // Put setup code here. This method is called before the invocation of each test method in the class. 17 | } 18 | 19 | override func tearDown() { 20 | // Put teardown code here. This method is called after the invocation of each test method in the class. 21 | super.tearDown() 22 | } 23 | 24 | func testExample() { 25 | // This is an example of a functional test case. 26 | // Use XCTAssert and related functions to verify your tests produce the correct results. 27 | } 28 | 29 | func testPerformanceExample() { 30 | // This is an example of a performance test case. 31 | self.measureBlock { 32 | // Put the code you want to measure the time of here. 33 | } 34 | } 35 | 36 | } 37 | -------------------------------------------------------------------------------- /lesson3.5_range/problem/RxSwiftHello/RxSwiftHelloTests/RxSwiftHelloTests.swift: -------------------------------------------------------------------------------- 1 | // 2 | // RxSwiftHelloTests.swift 3 | // RxSwiftHelloTests 4 | // 5 | // Created by Pepas Personal on 11/24/15. 6 | // Copyright © 2015 Pepas Labs. All rights reserved. 7 | // 8 | 9 | import XCTest 10 | @testable import RxSwiftHello 11 | 12 | class RxSwiftHelloTests: XCTestCase { 13 | 14 | override func setUp() { 15 | super.setUp() 16 | // Put setup code here. This method is called before the invocation of each test method in the class. 17 | } 18 | 19 | override func tearDown() { 20 | // Put teardown code here. This method is called after the invocation of each test method in the class. 21 | super.tearDown() 22 | } 23 | 24 | func testExample() { 25 | // This is an example of a functional test case. 26 | // Use XCTAssert and related functions to verify your tests produce the correct results. 27 | } 28 | 29 | func testPerformanceExample() { 30 | // This is an example of a performance test case. 31 | self.measureBlock { 32 | // Put the code you want to measure the time of here. 33 | } 34 | } 35 | 36 | } 37 | -------------------------------------------------------------------------------- /lesson3.5_range/solution/RxSwiftHello/RxSwiftHelloTests/RxSwiftHelloTests.swift: -------------------------------------------------------------------------------- 1 | // 2 | // RxSwiftHelloTests.swift 3 | // RxSwiftHelloTests 4 | // 5 | // Created by Pepas Personal on 11/24/15. 6 | // Copyright © 2015 Pepas Labs. All rights reserved. 7 | // 8 | 9 | import XCTest 10 | @testable import RxSwiftHello 11 | 12 | class RxSwiftHelloTests: XCTestCase { 13 | 14 | override func setUp() { 15 | super.setUp() 16 | // Put setup code here. This method is called before the invocation of each test method in the class. 17 | } 18 | 19 | override func tearDown() { 20 | // Put teardown code here. This method is called after the invocation of each test method in the class. 21 | super.tearDown() 22 | } 23 | 24 | func testExample() { 25 | // This is an example of a functional test case. 26 | // Use XCTAssert and related functions to verify your tests produce the correct results. 27 | } 28 | 29 | func testPerformanceExample() { 30 | // This is an example of a performance test case. 31 | self.measureBlock { 32 | // Put the code you want to measure the time of here. 33 | } 34 | } 35 | 36 | } 37 | -------------------------------------------------------------------------------- /lesson3.6_interval/problem/RxSwiftHello/RxSwiftHelloTests/RxSwiftHelloTests.swift: -------------------------------------------------------------------------------- 1 | // 2 | // RxSwiftHelloTests.swift 3 | // RxSwiftHelloTests 4 | // 5 | // Created by Pepas Personal on 11/24/15. 6 | // Copyright © 2015 Pepas Labs. All rights reserved. 7 | // 8 | 9 | import XCTest 10 | @testable import RxSwiftHello 11 | 12 | class RxSwiftHelloTests: XCTestCase { 13 | 14 | override func setUp() { 15 | super.setUp() 16 | // Put setup code here. This method is called before the invocation of each test method in the class. 17 | } 18 | 19 | override func tearDown() { 20 | // Put teardown code here. This method is called after the invocation of each test method in the class. 21 | super.tearDown() 22 | } 23 | 24 | func testExample() { 25 | // This is an example of a functional test case. 26 | // Use XCTAssert and related functions to verify your tests produce the correct results. 27 | } 28 | 29 | func testPerformanceExample() { 30 | // This is an example of a performance test case. 31 | self.measureBlock { 32 | // Put the code you want to measure the time of here. 33 | } 34 | } 35 | 36 | } 37 | -------------------------------------------------------------------------------- /lesson3.7_timer/problem/RxSwiftHello/RxSwiftHelloTests/RxSwiftHelloTests.swift: -------------------------------------------------------------------------------- 1 | // 2 | // RxSwiftHelloTests.swift 3 | // RxSwiftHelloTests 4 | // 5 | // Created by Pepas Personal on 11/24/15. 6 | // Copyright © 2015 Pepas Labs. All rights reserved. 7 | // 8 | 9 | import XCTest 10 | @testable import RxSwiftHello 11 | 12 | class RxSwiftHelloTests: XCTestCase { 13 | 14 | override func setUp() { 15 | super.setUp() 16 | // Put setup code here. This method is called before the invocation of each test method in the class. 17 | } 18 | 19 | override func tearDown() { 20 | // Put teardown code here. This method is called after the invocation of each test method in the class. 21 | super.tearDown() 22 | } 23 | 24 | func testExample() { 25 | // This is an example of a functional test case. 26 | // Use XCTAssert and related functions to verify your tests produce the correct results. 27 | } 28 | 29 | func testPerformanceExample() { 30 | // This is an example of a performance test case. 31 | self.measureBlock { 32 | // Put the code you want to measure the time of here. 33 | } 34 | } 35 | 36 | } 37 | -------------------------------------------------------------------------------- /lesson3.7_timer/solution/RxSwiftHello/RxSwiftHelloTests/RxSwiftHelloTests.swift: -------------------------------------------------------------------------------- 1 | // 2 | // RxSwiftHelloTests.swift 3 | // RxSwiftHelloTests 4 | // 5 | // Created by Pepas Personal on 11/24/15. 6 | // Copyright © 2015 Pepas Labs. All rights reserved. 7 | // 8 | 9 | import XCTest 10 | @testable import RxSwiftHello 11 | 12 | class RxSwiftHelloTests: XCTestCase { 13 | 14 | override func setUp() { 15 | super.setUp() 16 | // Put setup code here. This method is called before the invocation of each test method in the class. 17 | } 18 | 19 | override func tearDown() { 20 | // Put teardown code here. This method is called after the invocation of each test method in the class. 21 | super.tearDown() 22 | } 23 | 24 | func testExample() { 25 | // This is an example of a functional test case. 26 | // Use XCTAssert and related functions to verify your tests produce the correct results. 27 | } 28 | 29 | func testPerformanceExample() { 30 | // This is an example of a performance test case. 31 | self.measureBlock { 32 | // Put the code you want to measure the time of here. 33 | } 34 | } 35 | 36 | } 37 | -------------------------------------------------------------------------------- /lesson3.8_doOn/problem/RxSwiftHello/RxSwiftHelloTests/RxSwiftHelloTests.swift: -------------------------------------------------------------------------------- 1 | // 2 | // RxSwiftHelloTests.swift 3 | // RxSwiftHelloTests 4 | // 5 | // Created by Pepas Personal on 11/24/15. 6 | // Copyright © 2015 Pepas Labs. All rights reserved. 7 | // 8 | 9 | import XCTest 10 | @testable import RxSwiftHello 11 | 12 | class RxSwiftHelloTests: XCTestCase { 13 | 14 | override func setUp() { 15 | super.setUp() 16 | // Put setup code here. This method is called before the invocation of each test method in the class. 17 | } 18 | 19 | override func tearDown() { 20 | // Put teardown code here. This method is called after the invocation of each test method in the class. 21 | super.tearDown() 22 | } 23 | 24 | func testExample() { 25 | // This is an example of a functional test case. 26 | // Use XCTAssert and related functions to verify your tests produce the correct results. 27 | } 28 | 29 | func testPerformanceExample() { 30 | // This is an example of a performance test case. 31 | self.measureBlock { 32 | // Put the code you want to measure the time of here. 33 | } 34 | } 35 | 36 | } 37 | -------------------------------------------------------------------------------- /lesson3.8_doOn/solution/RxSwiftHello/RxSwiftHelloTests/RxSwiftHelloTests.swift: -------------------------------------------------------------------------------- 1 | // 2 | // RxSwiftHelloTests.swift 3 | // RxSwiftHelloTests 4 | // 5 | // Created by Pepas Personal on 11/24/15. 6 | // Copyright © 2015 Pepas Labs. All rights reserved. 7 | // 8 | 9 | import XCTest 10 | @testable import RxSwiftHello 11 | 12 | class RxSwiftHelloTests: XCTestCase { 13 | 14 | override func setUp() { 15 | super.setUp() 16 | // Put setup code here. This method is called before the invocation of each test method in the class. 17 | } 18 | 19 | override func tearDown() { 20 | // Put teardown code here. This method is called after the invocation of each test method in the class. 21 | super.tearDown() 22 | } 23 | 24 | func testExample() { 25 | // This is an example of a functional test case. 26 | // Use XCTAssert and related functions to verify your tests produce the correct results. 27 | } 28 | 29 | func testPerformanceExample() { 30 | // This is an example of a performance test case. 31 | self.measureBlock { 32 | // Put the code you want to measure the time of here. 33 | } 34 | } 35 | 36 | } 37 | -------------------------------------------------------------------------------- /lesson3.1_generate/solution/RxSwiftHello/RxSwiftHelloTests/RxSwiftHelloTests.swift: -------------------------------------------------------------------------------- 1 | // 2 | // RxSwiftHelloTests.swift 3 | // RxSwiftHelloTests 4 | // 5 | // Created by Pepas Personal on 11/24/15. 6 | // Copyright © 2015 Pepas Labs. All rights reserved. 7 | // 8 | 9 | import XCTest 10 | @testable import RxSwiftHello 11 | 12 | class RxSwiftHelloTests: XCTestCase { 13 | 14 | override func setUp() { 15 | super.setUp() 16 | // Put setup code here. This method is called before the invocation of each test method in the class. 17 | } 18 | 19 | override func tearDown() { 20 | // Put teardown code here. This method is called after the invocation of each test method in the class. 21 | super.tearDown() 22 | } 23 | 24 | func testExample() { 25 | // This is an example of a functional test case. 26 | // Use XCTAssert and related functions to verify your tests produce the correct results. 27 | } 28 | 29 | func testPerformanceExample() { 30 | // This is an example of a performance test case. 31 | self.measureBlock { 32 | // Put the code you want to measure the time of here. 33 | } 34 | } 35 | 36 | } 37 | -------------------------------------------------------------------------------- /lesson3.2_repeatElement/problem/RxSwiftHello/RxSwiftHelloTests/RxSwiftHelloTests.swift: -------------------------------------------------------------------------------- 1 | // 2 | // RxSwiftHelloTests.swift 3 | // RxSwiftHelloTests 4 | // 5 | // Created by Pepas Personal on 11/24/15. 6 | // Copyright © 2015 Pepas Labs. All rights reserved. 7 | // 8 | 9 | import XCTest 10 | @testable import RxSwiftHello 11 | 12 | class RxSwiftHelloTests: XCTestCase { 13 | 14 | override func setUp() { 15 | super.setUp() 16 | // Put setup code here. This method is called before the invocation of each test method in the class. 17 | } 18 | 19 | override func tearDown() { 20 | // Put teardown code here. This method is called after the invocation of each test method in the class. 21 | super.tearDown() 22 | } 23 | 24 | func testExample() { 25 | // This is an example of a functional test case. 26 | // Use XCTAssert and related functions to verify your tests produce the correct results. 27 | } 28 | 29 | func testPerformanceExample() { 30 | // This is an example of a performance test case. 31 | self.measureBlock { 32 | // Put the code you want to measure the time of here. 33 | } 34 | } 35 | 36 | } 37 | -------------------------------------------------------------------------------- /lesson3.4_sequenceOf/problem/RxSwiftHello/RxSwiftHelloTests/RxSwiftHelloTests.swift: -------------------------------------------------------------------------------- 1 | // 2 | // RxSwiftHelloTests.swift 3 | // RxSwiftHelloTests 4 | // 5 | // Created by Pepas Personal on 11/24/15. 6 | // Copyright © 2015 Pepas Labs. All rights reserved. 7 | // 8 | 9 | import XCTest 10 | @testable import RxSwiftHello 11 | 12 | class RxSwiftHelloTests: XCTestCase { 13 | 14 | override func setUp() { 15 | super.setUp() 16 | // Put setup code here. This method is called before the invocation of each test method in the class. 17 | } 18 | 19 | override func tearDown() { 20 | // Put teardown code here. This method is called after the invocation of each test method in the class. 21 | super.tearDown() 22 | } 23 | 24 | func testExample() { 25 | // This is an example of a functional test case. 26 | // Use XCTAssert and related functions to verify your tests produce the correct results. 27 | } 28 | 29 | func testPerformanceExample() { 30 | // This is an example of a performance test case. 31 | self.measureBlock { 32 | // Put the code you want to measure the time of here. 33 | } 34 | } 35 | 36 | } 37 | -------------------------------------------------------------------------------- /lesson3.4_sequenceOf/solution/RxSwiftHello/RxSwiftHelloTests/RxSwiftHelloTests.swift: -------------------------------------------------------------------------------- 1 | // 2 | // RxSwiftHelloTests.swift 3 | // RxSwiftHelloTests 4 | // 5 | // Created by Pepas Personal on 11/24/15. 6 | // Copyright © 2015 Pepas Labs. All rights reserved. 7 | // 8 | 9 | import XCTest 10 | @testable import RxSwiftHello 11 | 12 | class RxSwiftHelloTests: XCTestCase { 13 | 14 | override func setUp() { 15 | super.setUp() 16 | // Put setup code here. This method is called before the invocation of each test method in the class. 17 | } 18 | 19 | override func tearDown() { 20 | // Put teardown code here. This method is called after the invocation of each test method in the class. 21 | super.tearDown() 22 | } 23 | 24 | func testExample() { 25 | // This is an example of a functional test case. 26 | // Use XCTAssert and related functions to verify your tests produce the correct results. 27 | } 28 | 29 | func testPerformanceExample() { 30 | // This is an example of a performance test case. 31 | self.measureBlock { 32 | // Put the code you want to measure the time of here. 33 | } 34 | } 35 | 36 | } 37 | -------------------------------------------------------------------------------- /lesson3.6_interval/solution/RxSwiftHello/RxSwiftHelloTests/RxSwiftHelloTests.swift: -------------------------------------------------------------------------------- 1 | // 2 | // RxSwiftHelloTests.swift 3 | // RxSwiftHelloTests 4 | // 5 | // Created by Pepas Personal on 11/24/15. 6 | // Copyright © 2015 Pepas Labs. All rights reserved. 7 | // 8 | 9 | import XCTest 10 | @testable import RxSwiftHello 11 | 12 | class RxSwiftHelloTests: XCTestCase { 13 | 14 | override func setUp() { 15 | super.setUp() 16 | // Put setup code here. This method is called before the invocation of each test method in the class. 17 | } 18 | 19 | override func tearDown() { 20 | // Put teardown code here. This method is called after the invocation of each test method in the class. 21 | super.tearDown() 22 | } 23 | 24 | func testExample() { 25 | // This is an example of a functional test case. 26 | // Use XCTAssert and related functions to verify your tests produce the correct results. 27 | } 28 | 29 | func testPerformanceExample() { 30 | // This is an example of a performance test case. 31 | self.measureBlock { 32 | // Put the code you want to measure the time of here. 33 | } 34 | } 35 | 36 | } 37 | -------------------------------------------------------------------------------- /lesson3.2_repeatElement/solution/RxSwiftHello/RxSwiftHelloTests/RxSwiftHelloTests.swift: -------------------------------------------------------------------------------- 1 | // 2 | // RxSwiftHelloTests.swift 3 | // RxSwiftHelloTests 4 | // 5 | // Created by Pepas Personal on 11/24/15. 6 | // Copyright © 2015 Pepas Labs. All rights reserved. 7 | // 8 | 9 | import XCTest 10 | @testable import RxSwiftHello 11 | 12 | class RxSwiftHelloTests: XCTestCase { 13 | 14 | override func setUp() { 15 | super.setUp() 16 | // Put setup code here. This method is called before the invocation of each test method in the class. 17 | } 18 | 19 | override func tearDown() { 20 | // Put teardown code here. This method is called after the invocation of each test method in the class. 21 | super.tearDown() 22 | } 23 | 24 | func testExample() { 25 | // This is an example of a functional test case. 26 | // Use XCTAssert and related functions to verify your tests produce the correct results. 27 | } 28 | 29 | func testPerformanceExample() { 30 | // This is an example of a performance test case. 31 | self.measureBlock { 32 | // Put the code you want to measure the time of here. 33 | } 34 | } 35 | 36 | } 37 | -------------------------------------------------------------------------------- /lesson1_bootstrapping/solution/RxBootstrapping/RxBootstrappingTests/RxBootstrappingTests.swift: -------------------------------------------------------------------------------- 1 | // 2 | // RxBootstrappingTests.swift 3 | // RxBootstrappingTests 4 | // 5 | // Created by Pepas Personal on 11/22/15. 6 | // Copyright © 2015 Pepas Labs. All rights reserved. 7 | // 8 | 9 | import XCTest 10 | @testable import RxBootstrapping 11 | 12 | class RxBootstrappingTests: XCTestCase { 13 | 14 | override func setUp() { 15 | super.setUp() 16 | // Put setup code here. This method is called before the invocation of each test method in the class. 17 | } 18 | 19 | override func tearDown() { 20 | // Put teardown code here. This method is called after the invocation of each test method in the class. 21 | super.tearDown() 22 | } 23 | 24 | func testExample() { 25 | // This is an example of a functional test case. 26 | // Use XCTAssert and related functions to verify your tests produce the correct results. 27 | } 28 | 29 | func testPerformanceExample() { 30 | // This is an example of a performance test case. 31 | self.measureBlock { 32 | // Put the code you want to measure the time of here. 33 | } 34 | } 35 | 36 | } 37 | -------------------------------------------------------------------------------- /lesson5.3_rx_constant/problem/RxSwiftMarginDemo/RxSwiftMarginDemoTests/RxSwiftMarginDemoTests.swift: -------------------------------------------------------------------------------- 1 | // 2 | // RxSwiftMarginDemoTests.swift 3 | // RxSwiftMarginDemoTests 4 | // 5 | // Created by Pepas Personal on 11/28/15. 6 | // Copyright © 2015 Pepas Labs. All rights reserved. 7 | // 8 | 9 | import XCTest 10 | @testable import RxSwiftMarginDemo 11 | 12 | class RxSwiftMarginDemoTests: XCTestCase { 13 | 14 | override func setUp() { 15 | super.setUp() 16 | // Put setup code here. This method is called before the invocation of each test method in the class. 17 | } 18 | 19 | override func tearDown() { 20 | // Put teardown code here. This method is called after the invocation of each test method in the class. 21 | super.tearDown() 22 | } 23 | 24 | func testExample() { 25 | // This is an example of a functional test case. 26 | // Use XCTAssert and related functions to verify your tests produce the correct results. 27 | } 28 | 29 | func testPerformanceExample() { 30 | // This is an example of a performance test case. 31 | self.measureBlock { 32 | // Put the code you want to measure the time of here. 33 | } 34 | } 35 | 36 | } 37 | -------------------------------------------------------------------------------- /lesson5.3_rx_constant/solution/RxSwiftMarginDemo/RxSwiftMarginDemoTests/RxSwiftMarginDemoTests.swift: -------------------------------------------------------------------------------- 1 | // 2 | // RxSwiftMarginDemoTests.swift 3 | // RxSwiftMarginDemoTests 4 | // 5 | // Created by Pepas Personal on 11/28/15. 6 | // Copyright © 2015 Pepas Labs. All rights reserved. 7 | // 8 | 9 | import XCTest 10 | @testable import RxSwiftMarginDemo 11 | 12 | class RxSwiftMarginDemoTests: XCTestCase { 13 | 14 | override func setUp() { 15 | super.setUp() 16 | // Put setup code here. This method is called before the invocation of each test method in the class. 17 | } 18 | 19 | override func tearDown() { 20 | // Put teardown code here. This method is called after the invocation of each test method in the class. 21 | super.tearDown() 22 | } 23 | 24 | func testExample() { 25 | // This is an example of a functional test case. 26 | // Use XCTAssert and related functions to verify your tests produce the correct results. 27 | } 28 | 29 | func testPerformanceExample() { 30 | // This is an example of a performance test case. 31 | self.measureBlock { 32 | // Put the code you want to measure the time of here. 33 | } 34 | } 35 | 36 | } 37 | -------------------------------------------------------------------------------- /lesson5.2_rx_notification/problem/RxSwiftNotifications/RxSwiftNotificationsTests/RxSwiftNotificationsTests.swift: -------------------------------------------------------------------------------- 1 | // 2 | // RxSwiftNotificationsTests.swift 3 | // RxSwiftNotificationsTests 4 | // 5 | // Created by Pepas Personal on 11/28/15. 6 | // Copyright © 2015 Pepas Labs. All rights reserved. 7 | // 8 | 9 | import XCTest 10 | @testable import RxSwiftNotifications 11 | 12 | class RxSwiftNotificationsTests: XCTestCase { 13 | 14 | override func setUp() { 15 | super.setUp() 16 | // Put setup code here. This method is called before the invocation of each test method in the class. 17 | } 18 | 19 | override func tearDown() { 20 | // Put teardown code here. This method is called after the invocation of each test method in the class. 21 | super.tearDown() 22 | } 23 | 24 | func testExample() { 25 | // This is an example of a functional test case. 26 | // Use XCTAssert and related functions to verify your tests produce the correct results. 27 | } 28 | 29 | func testPerformanceExample() { 30 | // This is an example of a performance test case. 31 | self.measureBlock { 32 | // Put the code you want to measure the time of here. 33 | } 34 | } 35 | 36 | } 37 | -------------------------------------------------------------------------------- /lesson5.2_rx_notification/solution/RxSwiftNotifications/RxSwiftNotificationsTests/RxSwiftNotificationsTests.swift: -------------------------------------------------------------------------------- 1 | // 2 | // RxSwiftNotificationsTests.swift 3 | // RxSwiftNotificationsTests 4 | // 5 | // Created by Pepas Personal on 11/28/15. 6 | // Copyright © 2015 Pepas Labs. All rights reserved. 7 | // 8 | 9 | import XCTest 10 | @testable import RxSwiftNotifications 11 | 12 | class RxSwiftNotificationsTests: XCTestCase { 13 | 14 | override func setUp() { 15 | super.setUp() 16 | // Put setup code here. This method is called before the invocation of each test method in the class. 17 | } 18 | 19 | override func tearDown() { 20 | // Put teardown code here. This method is called after the invocation of each test method in the class. 21 | super.tearDown() 22 | } 23 | 24 | func testExample() { 25 | // This is an example of a functional test case. 26 | // Use XCTAssert and related functions to verify your tests produce the correct results. 27 | } 28 | 29 | func testPerformanceExample() { 30 | // This is an example of a performance test case. 31 | self.measureBlock { 32 | // Put the code you want to measure the time of here. 33 | } 34 | } 35 | 36 | } 37 | -------------------------------------------------------------------------------- /lesson5.1_uiscrollview_rxcontentOffset/problem/RxSwiftUIScrollView/RxSwiftUIScrollViewTests/RxSwiftUIScrollViewTests.swift: -------------------------------------------------------------------------------- 1 | // 2 | // RxSwiftUIScrollViewTests.swift 3 | // RxSwiftUIScrollViewTests 4 | // 5 | // Created by Pepas Personal on 11/28/15. 6 | // Copyright © 2015 Pepas Labs. All rights reserved. 7 | // 8 | 9 | import XCTest 10 | @testable import RxSwiftUIScrollView 11 | 12 | class RxSwiftUIScrollViewTests: XCTestCase { 13 | 14 | override func setUp() { 15 | super.setUp() 16 | // Put setup code here. This method is called before the invocation of each test method in the class. 17 | } 18 | 19 | override func tearDown() { 20 | // Put teardown code here. This method is called after the invocation of each test method in the class. 21 | super.tearDown() 22 | } 23 | 24 | func testExample() { 25 | // This is an example of a functional test case. 26 | // Use XCTAssert and related functions to verify your tests produce the correct results. 27 | } 28 | 29 | func testPerformanceExample() { 30 | // This is an example of a performance test case. 31 | self.measureBlock { 32 | // Put the code you want to measure the time of here. 33 | } 34 | } 35 | 36 | } 37 | -------------------------------------------------------------------------------- /lesson5.1_uiscrollview_rxcontentOffset/solution/RxSwiftUIScrollView/RxSwiftUIScrollViewTests/RxSwiftUIScrollViewTests.swift: -------------------------------------------------------------------------------- 1 | // 2 | // RxSwiftUIScrollViewTests.swift 3 | // RxSwiftUIScrollViewTests 4 | // 5 | // Created by Pepas Personal on 11/28/15. 6 | // Copyright © 2015 Pepas Labs. All rights reserved. 7 | // 8 | 9 | import XCTest 10 | @testable import RxSwiftUIScrollView 11 | 12 | class RxSwiftUIScrollViewTests: XCTestCase { 13 | 14 | override func setUp() { 15 | super.setUp() 16 | // Put setup code here. This method is called before the invocation of each test method in the class. 17 | } 18 | 19 | override func tearDown() { 20 | // Put teardown code here. This method is called after the invocation of each test method in the class. 21 | super.tearDown() 22 | } 23 | 24 | func testExample() { 25 | // This is an example of a functional test case. 26 | // Use XCTAssert and related functions to verify your tests produce the correct results. 27 | } 28 | 29 | func testPerformanceExample() { 30 | // This is an example of a performance test case. 31 | self.measureBlock { 32 | // Put the code you want to measure the time of here. 33 | } 34 | } 35 | 36 | } 37 | -------------------------------------------------------------------------------- /lesson2.3_map/problem/RxSwiftButtonBackgroundColorDemo/RxSwiftButtonBackgroundColorDemoTests/RxSwiftButtonBackgroundColorDemoTests.swift: -------------------------------------------------------------------------------- 1 | // 2 | // RxSwiftButtonBackgroundColorDemoTests.swift 3 | // RxSwiftButtonBackgroundColorDemoTests 4 | // 5 | // Created by Pepas Personal on 11/22/15. 6 | // Copyright © 2015 Pepas Labs. All rights reserved. 7 | // 8 | 9 | import XCTest 10 | @testable import RxSwiftButtonBackgroundColorDemo 11 | 12 | class RxSwiftButtonBackgroundColorDemoTests: XCTestCase { 13 | 14 | override func setUp() { 15 | super.setUp() 16 | // Put setup code here. This method is called before the invocation of each test method in the class. 17 | } 18 | 19 | override func tearDown() { 20 | // Put teardown code here. This method is called after the invocation of each test method in the class. 21 | super.tearDown() 22 | } 23 | 24 | func testExample() { 25 | // This is an example of a functional test case. 26 | // Use XCTAssert and related functions to verify your tests produce the correct results. 27 | } 28 | 29 | func testPerformanceExample() { 30 | // This is an example of a performance test case. 31 | self.measureBlock { 32 | // Put the code you want to measure the time of here. 33 | } 34 | } 35 | 36 | } 37 | -------------------------------------------------------------------------------- /lesson2.3_map/solution/RxSwiftButtonBackgroundColorDemo/RxSwiftButtonBackgroundColorDemoTests/RxSwiftButtonBackgroundColorDemoTests.swift: -------------------------------------------------------------------------------- 1 | // 2 | // RxSwiftButtonBackgroundColorDemoTests.swift 3 | // RxSwiftButtonBackgroundColorDemoTests 4 | // 5 | // Created by Pepas Personal on 11/22/15. 6 | // Copyright © 2015 Pepas Labs. All rights reserved. 7 | // 8 | 9 | import XCTest 10 | @testable import RxSwiftButtonBackgroundColorDemo 11 | 12 | class RxSwiftButtonBackgroundColorDemoTests: XCTestCase { 13 | 14 | override func setUp() { 15 | super.setUp() 16 | // Put setup code here. This method is called before the invocation of each test method in the class. 17 | } 18 | 19 | override func tearDown() { 20 | // Put teardown code here. This method is called after the invocation of each test method in the class. 21 | super.tearDown() 22 | } 23 | 24 | func testExample() { 25 | // This is an example of a functional test case. 26 | // Use XCTAssert and related functions to verify your tests produce the correct results. 27 | } 28 | 29 | func testPerformanceExample() { 30 | // This is an example of a performance test case. 31 | self.measureBlock { 32 | // Put the code you want to measure the time of here. 33 | } 34 | } 35 | 36 | } 37 | -------------------------------------------------------------------------------- /lesson2.2_disposebag/problem/RxSwiftButtonBackgroundColorDemo/RxSwiftButtonBackgroundColorDemoTests/RxSwiftButtonBackgroundColorDemoTests.swift: -------------------------------------------------------------------------------- 1 | // 2 | // RxSwiftButtonBackgroundColorDemoTests.swift 3 | // RxSwiftButtonBackgroundColorDemoTests 4 | // 5 | // Created by Pepas Personal on 11/22/15. 6 | // Copyright © 2015 Pepas Labs. All rights reserved. 7 | // 8 | 9 | import XCTest 10 | @testable import RxSwiftButtonBackgroundColorDemo 11 | 12 | class RxSwiftButtonBackgroundColorDemoTests: XCTestCase { 13 | 14 | override func setUp() { 15 | super.setUp() 16 | // Put setup code here. This method is called before the invocation of each test method in the class. 17 | } 18 | 19 | override func tearDown() { 20 | // Put teardown code here. This method is called after the invocation of each test method in the class. 21 | super.tearDown() 22 | } 23 | 24 | func testExample() { 25 | // This is an example of a functional test case. 26 | // Use XCTAssert and related functions to verify your tests produce the correct results. 27 | } 28 | 29 | func testPerformanceExample() { 30 | // This is an example of a performance test case. 31 | self.measureBlock { 32 | // Put the code you want to measure the time of here. 33 | } 34 | } 35 | 36 | } 37 | -------------------------------------------------------------------------------- /lesson2.2_disposebag/solution/RxSwiftButtonBackgroundColorDemo/RxSwiftButtonBackgroundColorDemoTests/RxSwiftButtonBackgroundColorDemoTests.swift: -------------------------------------------------------------------------------- 1 | // 2 | // RxSwiftButtonBackgroundColorDemoTests.swift 3 | // RxSwiftButtonBackgroundColorDemoTests 4 | // 5 | // Created by Pepas Personal on 11/22/15. 6 | // Copyright © 2015 Pepas Labs. All rights reserved. 7 | // 8 | 9 | import XCTest 10 | @testable import RxSwiftButtonBackgroundColorDemo 11 | 12 | class RxSwiftButtonBackgroundColorDemoTests: XCTestCase { 13 | 14 | override func setUp() { 15 | super.setUp() 16 | // Put setup code here. This method is called before the invocation of each test method in the class. 17 | } 18 | 19 | override func tearDown() { 20 | // Put teardown code here. This method is called after the invocation of each test method in the class. 21 | super.tearDown() 22 | } 23 | 24 | func testExample() { 25 | // This is an example of a functional test case. 26 | // Use XCTAssert and related functions to verify your tests produce the correct results. 27 | } 28 | 29 | func testPerformanceExample() { 30 | // This is an example of a performance test case. 31 | self.measureBlock { 32 | // Put the code you want to measure the time of here. 33 | } 34 | } 35 | 36 | } 37 | -------------------------------------------------------------------------------- /lesson2.1_backgroundcolor/problem/RxSwiftButtonBackgroundColorDemo/RxSwiftButtonBackgroundColorDemoTests/RxSwiftButtonBackgroundColorDemoTests.swift: -------------------------------------------------------------------------------- 1 | // 2 | // RxSwiftButtonBackgroundColorDemoTests.swift 3 | // RxSwiftButtonBackgroundColorDemoTests 4 | // 5 | // Created by Pepas Personal on 11/22/15. 6 | // Copyright © 2015 Pepas Labs. All rights reserved. 7 | // 8 | 9 | import XCTest 10 | @testable import RxSwiftButtonBackgroundColorDemo 11 | 12 | class RxSwiftButtonBackgroundColorDemoTests: XCTestCase { 13 | 14 | override func setUp() { 15 | super.setUp() 16 | // Put setup code here. This method is called before the invocation of each test method in the class. 17 | } 18 | 19 | override func tearDown() { 20 | // Put teardown code here. This method is called after the invocation of each test method in the class. 21 | super.tearDown() 22 | } 23 | 24 | func testExample() { 25 | // This is an example of a functional test case. 26 | // Use XCTAssert and related functions to verify your tests produce the correct results. 27 | } 28 | 29 | func testPerformanceExample() { 30 | // This is an example of a performance test case. 31 | self.measureBlock { 32 | // Put the code you want to measure the time of here. 33 | } 34 | } 35 | 36 | } 37 | -------------------------------------------------------------------------------- /lesson2.1_backgroundcolor/solution/RxSwiftButtonBackgroundColorDemo/RxSwiftButtonBackgroundColorDemoTests/RxSwiftButtonBackgroundColorDemoTests.swift: -------------------------------------------------------------------------------- 1 | // 2 | // RxSwiftButtonBackgroundColorDemoTests.swift 3 | // RxSwiftButtonBackgroundColorDemoTests 4 | // 5 | // Created by Pepas Personal on 11/22/15. 6 | // Copyright © 2015 Pepas Labs. All rights reserved. 7 | // 8 | 9 | import XCTest 10 | @testable import RxSwiftButtonBackgroundColorDemo 11 | 12 | class RxSwiftButtonBackgroundColorDemoTests: XCTestCase { 13 | 14 | override func setUp() { 15 | super.setUp() 16 | // Put setup code here. This method is called before the invocation of each test method in the class. 17 | } 18 | 19 | override func tearDown() { 20 | // Put teardown code here. This method is called after the invocation of each test method in the class. 21 | super.tearDown() 22 | } 23 | 24 | func testExample() { 25 | // This is an example of a functional test case. 26 | // Use XCTAssert and related functions to verify your tests produce the correct results. 27 | } 28 | 29 | func testPerformanceExample() { 30 | // This is an example of a performance test case. 31 | self.measureBlock { 32 | // Put the code you want to measure the time of here. 33 | } 34 | } 35 | 36 | } 37 | -------------------------------------------------------------------------------- /lesson4.1_reachability/problem/RxSwiftReachabilityBackgroundColorDemo/RxSwiftReachabilityBackgroundColorDemoTests/RxSwiftReachabilityBackgroundColorDemoTests.swift: -------------------------------------------------------------------------------- 1 | // 2 | // RxSwiftReachabilityBackgroundColorDemoTests.swift 3 | // RxSwiftReachabilityBackgroundColorDemoTests 4 | // 5 | // Created by Pepas Personal on 11/22/15. 6 | // Copyright © 2015 Pepas Labs. All rights reserved. 7 | // 8 | 9 | import XCTest 10 | @testable import RxSwiftReachabilityBackgroundColorDemo 11 | 12 | class RxSwiftReachabilityBackgroundColorDemoTests: XCTestCase { 13 | 14 | override func setUp() { 15 | super.setUp() 16 | // Put setup code here. This method is called before the invocation of each test method in the class. 17 | } 18 | 19 | override func tearDown() { 20 | // Put teardown code here. This method is called after the invocation of each test method in the class. 21 | super.tearDown() 22 | } 23 | 24 | func testExample() { 25 | // This is an example of a functional test case. 26 | // Use XCTAssert and related functions to verify your tests produce the correct results. 27 | } 28 | 29 | func testPerformanceExample() { 30 | // This is an example of a performance test case. 31 | self.measureBlock { 32 | // Put the code you want to measure the time of here. 33 | } 34 | } 35 | 36 | } 37 | -------------------------------------------------------------------------------- /lesson4.1_reachability/solution/RxSwiftReachabilityBackgroundColorDemo/RxSwiftReachabilityBackgroundColorDemoTests/RxSwiftReachabilityBackgroundColorDemoTests.swift: -------------------------------------------------------------------------------- 1 | // 2 | // RxSwiftReachabilityBackgroundColorDemoTests.swift 3 | // RxSwiftReachabilityBackgroundColorDemoTests 4 | // 5 | // Created by Pepas Personal on 11/22/15. 6 | // Copyright © 2015 Pepas Labs. All rights reserved. 7 | // 8 | 9 | import XCTest 10 | @testable import RxSwiftReachabilityBackgroundColorDemo 11 | 12 | class RxSwiftReachabilityBackgroundColorDemoTests: XCTestCase { 13 | 14 | override func setUp() { 15 | super.setUp() 16 | // Put setup code here. This method is called before the invocation of each test method in the class. 17 | } 18 | 19 | override func tearDown() { 20 | // Put teardown code here. This method is called after the invocation of each test method in the class. 21 | super.tearDown() 22 | } 23 | 24 | func testExample() { 25 | // This is an example of a functional test case. 26 | // Use XCTAssert and related functions to verify your tests produce the correct results. 27 | } 28 | 29 | func testPerformanceExample() { 30 | // This is an example of a performance test case. 31 | self.measureBlock { 32 | // Put the code you want to measure the time of here. 33 | } 34 | } 35 | 36 | } 37 | -------------------------------------------------------------------------------- /lesson4.2_behaviorsubject/problem/RxSwiftReachabilityBackgroundColorDemo/RxSwiftReachabilityBackgroundColorDemoTests/RxSwiftReachabilityBackgroundColorDemoTests.swift: -------------------------------------------------------------------------------- 1 | // 2 | // RxSwiftReachabilityBackgroundColorDemoTests.swift 3 | // RxSwiftReachabilityBackgroundColorDemoTests 4 | // 5 | // Created by Pepas Personal on 11/22/15. 6 | // Copyright © 2015 Pepas Labs. All rights reserved. 7 | // 8 | 9 | import XCTest 10 | @testable import RxSwiftReachabilityBackgroundColorDemo 11 | 12 | class RxSwiftReachabilityBackgroundColorDemoTests: XCTestCase { 13 | 14 | override func setUp() { 15 | super.setUp() 16 | // Put setup code here. This method is called before the invocation of each test method in the class. 17 | } 18 | 19 | override func tearDown() { 20 | // Put teardown code here. This method is called after the invocation of each test method in the class. 21 | super.tearDown() 22 | } 23 | 24 | func testExample() { 25 | // This is an example of a functional test case. 26 | // Use XCTAssert and related functions to verify your tests produce the correct results. 27 | } 28 | 29 | func testPerformanceExample() { 30 | // This is an example of a performance test case. 31 | self.measureBlock { 32 | // Put the code you want to measure the time of here. 33 | } 34 | } 35 | 36 | } 37 | -------------------------------------------------------------------------------- /lesson4.2_behaviorsubject/solution/RxSwiftReachabilityBackgroundColorDemo/RxSwiftReachabilityBackgroundColorDemoTests/RxSwiftReachabilityBackgroundColorDemoTests.swift: -------------------------------------------------------------------------------- 1 | // 2 | // RxSwiftReachabilityBackgroundColorDemoTests.swift 3 | // RxSwiftReachabilityBackgroundColorDemoTests 4 | // 5 | // Created by Pepas Personal on 11/22/15. 6 | // Copyright © 2015 Pepas Labs. All rights reserved. 7 | // 8 | 9 | import XCTest 10 | @testable import RxSwiftReachabilityBackgroundColorDemo 11 | 12 | class RxSwiftReachabilityBackgroundColorDemoTests: XCTestCase { 13 | 14 | override func setUp() { 15 | super.setUp() 16 | // Put setup code here. This method is called before the invocation of each test method in the class. 17 | } 18 | 19 | override func tearDown() { 20 | // Put teardown code here. This method is called after the invocation of each test method in the class. 21 | super.tearDown() 22 | } 23 | 24 | func testExample() { 25 | // This is an example of a functional test case. 26 | // Use XCTAssert and related functions to verify your tests produce the correct results. 27 | } 28 | 29 | func testPerformanceExample() { 30 | // This is an example of a performance test case. 31 | self.measureBlock { 32 | // Put the code you want to measure the time of here. 33 | } 34 | } 35 | 36 | } 37 | -------------------------------------------------------------------------------- /lesson3.7_timer/solution/RxSwiftHello/RxSwiftHello/ViewController.swift: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.swift 3 | // RxSwiftHello 4 | // 5 | // Created by Pepas Personal on 11/24/15. 6 | // Copyright © 2015 Pepas Labs. All rights reserved. 7 | // 8 | 9 | import UIKit 10 | import RxSwift 11 | import RxCocoa 12 | 13 | class DelayedSingleHelloGenerator 14 | { 15 | class func generate() -> Observable 16 | { 17 | let delayedObservable = timer(3, MainScheduler.sharedInstance) 18 | 19 | let helloObservable = delayedObservable.map({ (_) -> String in 20 | return "hello" 21 | }) 22 | 23 | return helloObservable 24 | } 25 | } 26 | 27 | class DelayedTickHelloGenerator 28 | { 29 | class func generate() -> Observable 30 | { 31 | let tickerObservable = timer(3.0, 1.0, MainScheduler.sharedInstance) 32 | 33 | let helloObservable = tickerObservable.map { (_) -> String in 34 | return "hello" 35 | } 36 | 37 | return helloObservable 38 | } 39 | } 40 | 41 | class ViewController: UIViewController { 42 | 43 | let disposeBag = DisposeBag() 44 | 45 | override func viewDidLoad() { 46 | super.viewDidLoad() 47 | 48 | DelayedSingleHelloGenerator.generate().subscribeNext { (s) -> Void in 49 | debugPrint(s) 50 | }.addDisposableTo(disposeBag) 51 | } 52 | } 53 | -------------------------------------------------------------------------------- /lesson3.1_generate/solution/RxSwiftHello/RxSwiftHello/ViewController.swift: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.swift 3 | // RxSwiftHello 4 | // 5 | // Created by Pepas Personal on 11/24/15. 6 | // Copyright © 2015 Pepas Labs. All rights reserved. 7 | // 8 | 9 | import UIKit 10 | import RxSwift 11 | import RxCocoa 12 | 13 | class InfiniteHelloGenerator 14 | { 15 | class func generate() -> Observable 16 | { 17 | return RxSwift.generate("hello", 18 | condition: { (_) -> Bool in return true}, 19 | iterate: { (s) -> String in return s }) 20 | } 21 | } 22 | 23 | class VerboseInfiniteHelloGenerator 24 | { 25 | class func generate() -> Observable 26 | { 27 | return RxSwift.generate("hello", condition: { (s) -> Bool in 28 | 29 | debugPrint("condition closure. s: \(s)") 30 | return true 31 | 32 | }, iterate: { (s) -> String in 33 | 34 | debugPrint("iterate closure. s: \(s)") 35 | return s 36 | 37 | }) 38 | } 39 | } 40 | 41 | class ViewController: UIViewController { 42 | 43 | let disposeBag = DisposeBag() 44 | 45 | override func viewDidLoad() { 46 | super.viewDidLoad() 47 | 48 | InfiniteHelloGenerator.generate().subscribeNext { (s) -> Void in 49 | debugPrint(s) 50 | }.addDisposableTo(disposeBag) 51 | } 52 | } 53 | -------------------------------------------------------------------------------- /lesson3.3_just/problem/RxSwiftHello/RxSwiftHello/Assets.xcassets/AppIcon.appiconset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "iphone", 5 | "size" : "29x29", 6 | "scale" : "2x" 7 | }, 8 | { 9 | "idiom" : "iphone", 10 | "size" : "29x29", 11 | "scale" : "3x" 12 | }, 13 | { 14 | "idiom" : "iphone", 15 | "size" : "40x40", 16 | "scale" : "2x" 17 | }, 18 | { 19 | "idiom" : "iphone", 20 | "size" : "40x40", 21 | "scale" : "3x" 22 | }, 23 | { 24 | "idiom" : "iphone", 25 | "size" : "60x60", 26 | "scale" : "2x" 27 | }, 28 | { 29 | "idiom" : "iphone", 30 | "size" : "60x60", 31 | "scale" : "3x" 32 | }, 33 | { 34 | "idiom" : "ipad", 35 | "size" : "29x29", 36 | "scale" : "1x" 37 | }, 38 | { 39 | "idiom" : "ipad", 40 | "size" : "29x29", 41 | "scale" : "2x" 42 | }, 43 | { 44 | "idiom" : "ipad", 45 | "size" : "40x40", 46 | "scale" : "1x" 47 | }, 48 | { 49 | "idiom" : "ipad", 50 | "size" : "40x40", 51 | "scale" : "2x" 52 | }, 53 | { 54 | "idiom" : "ipad", 55 | "size" : "76x76", 56 | "scale" : "1x" 57 | }, 58 | { 59 | "idiom" : "ipad", 60 | "size" : "76x76", 61 | "scale" : "2x" 62 | } 63 | ], 64 | "info" : { 65 | "version" : 1, 66 | "author" : "xcode" 67 | } 68 | } -------------------------------------------------------------------------------- /lesson3.3_just/solution/RxSwiftHello/RxSwiftHello/Assets.xcassets/AppIcon.appiconset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "iphone", 5 | "size" : "29x29", 6 | "scale" : "2x" 7 | }, 8 | { 9 | "idiom" : "iphone", 10 | "size" : "29x29", 11 | "scale" : "3x" 12 | }, 13 | { 14 | "idiom" : "iphone", 15 | "size" : "40x40", 16 | "scale" : "2x" 17 | }, 18 | { 19 | "idiom" : "iphone", 20 | "size" : "40x40", 21 | "scale" : "3x" 22 | }, 23 | { 24 | "idiom" : "iphone", 25 | "size" : "60x60", 26 | "scale" : "2x" 27 | }, 28 | { 29 | "idiom" : "iphone", 30 | "size" : "60x60", 31 | "scale" : "3x" 32 | }, 33 | { 34 | "idiom" : "ipad", 35 | "size" : "29x29", 36 | "scale" : "1x" 37 | }, 38 | { 39 | "idiom" : "ipad", 40 | "size" : "29x29", 41 | "scale" : "2x" 42 | }, 43 | { 44 | "idiom" : "ipad", 45 | "size" : "40x40", 46 | "scale" : "1x" 47 | }, 48 | { 49 | "idiom" : "ipad", 50 | "size" : "40x40", 51 | "scale" : "2x" 52 | }, 53 | { 54 | "idiom" : "ipad", 55 | "size" : "76x76", 56 | "scale" : "1x" 57 | }, 58 | { 59 | "idiom" : "ipad", 60 | "size" : "76x76", 61 | "scale" : "2x" 62 | } 63 | ], 64 | "info" : { 65 | "version" : 1, 66 | "author" : "xcode" 67 | } 68 | } -------------------------------------------------------------------------------- /lesson3.5_range/problem/RxSwiftHello/RxSwiftHello/Assets.xcassets/AppIcon.appiconset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "iphone", 5 | "size" : "29x29", 6 | "scale" : "2x" 7 | }, 8 | { 9 | "idiom" : "iphone", 10 | "size" : "29x29", 11 | "scale" : "3x" 12 | }, 13 | { 14 | "idiom" : "iphone", 15 | "size" : "40x40", 16 | "scale" : "2x" 17 | }, 18 | { 19 | "idiom" : "iphone", 20 | "size" : "40x40", 21 | "scale" : "3x" 22 | }, 23 | { 24 | "idiom" : "iphone", 25 | "size" : "60x60", 26 | "scale" : "2x" 27 | }, 28 | { 29 | "idiom" : "iphone", 30 | "size" : "60x60", 31 | "scale" : "3x" 32 | }, 33 | { 34 | "idiom" : "ipad", 35 | "size" : "29x29", 36 | "scale" : "1x" 37 | }, 38 | { 39 | "idiom" : "ipad", 40 | "size" : "29x29", 41 | "scale" : "2x" 42 | }, 43 | { 44 | "idiom" : "ipad", 45 | "size" : "40x40", 46 | "scale" : "1x" 47 | }, 48 | { 49 | "idiom" : "ipad", 50 | "size" : "40x40", 51 | "scale" : "2x" 52 | }, 53 | { 54 | "idiom" : "ipad", 55 | "size" : "76x76", 56 | "scale" : "1x" 57 | }, 58 | { 59 | "idiom" : "ipad", 60 | "size" : "76x76", 61 | "scale" : "2x" 62 | } 63 | ], 64 | "info" : { 65 | "version" : 1, 66 | "author" : "xcode" 67 | } 68 | } -------------------------------------------------------------------------------- /lesson3.5_range/solution/RxSwiftHello/RxSwiftHello/Assets.xcassets/AppIcon.appiconset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "iphone", 5 | "size" : "29x29", 6 | "scale" : "2x" 7 | }, 8 | { 9 | "idiom" : "iphone", 10 | "size" : "29x29", 11 | "scale" : "3x" 12 | }, 13 | { 14 | "idiom" : "iphone", 15 | "size" : "40x40", 16 | "scale" : "2x" 17 | }, 18 | { 19 | "idiom" : "iphone", 20 | "size" : "40x40", 21 | "scale" : "3x" 22 | }, 23 | { 24 | "idiom" : "iphone", 25 | "size" : "60x60", 26 | "scale" : "2x" 27 | }, 28 | { 29 | "idiom" : "iphone", 30 | "size" : "60x60", 31 | "scale" : "3x" 32 | }, 33 | { 34 | "idiom" : "ipad", 35 | "size" : "29x29", 36 | "scale" : "1x" 37 | }, 38 | { 39 | "idiom" : "ipad", 40 | "size" : "29x29", 41 | "scale" : "2x" 42 | }, 43 | { 44 | "idiom" : "ipad", 45 | "size" : "40x40", 46 | "scale" : "1x" 47 | }, 48 | { 49 | "idiom" : "ipad", 50 | "size" : "40x40", 51 | "scale" : "2x" 52 | }, 53 | { 54 | "idiom" : "ipad", 55 | "size" : "76x76", 56 | "scale" : "1x" 57 | }, 58 | { 59 | "idiom" : "ipad", 60 | "size" : "76x76", 61 | "scale" : "2x" 62 | } 63 | ], 64 | "info" : { 65 | "version" : 1, 66 | "author" : "xcode" 67 | } 68 | } -------------------------------------------------------------------------------- /lesson3.7_timer/problem/RxSwiftHello/RxSwiftHello/Assets.xcassets/AppIcon.appiconset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "iphone", 5 | "size" : "29x29", 6 | "scale" : "2x" 7 | }, 8 | { 9 | "idiom" : "iphone", 10 | "size" : "29x29", 11 | "scale" : "3x" 12 | }, 13 | { 14 | "idiom" : "iphone", 15 | "size" : "40x40", 16 | "scale" : "2x" 17 | }, 18 | { 19 | "idiom" : "iphone", 20 | "size" : "40x40", 21 | "scale" : "3x" 22 | }, 23 | { 24 | "idiom" : "iphone", 25 | "size" : "60x60", 26 | "scale" : "2x" 27 | }, 28 | { 29 | "idiom" : "iphone", 30 | "size" : "60x60", 31 | "scale" : "3x" 32 | }, 33 | { 34 | "idiom" : "ipad", 35 | "size" : "29x29", 36 | "scale" : "1x" 37 | }, 38 | { 39 | "idiom" : "ipad", 40 | "size" : "29x29", 41 | "scale" : "2x" 42 | }, 43 | { 44 | "idiom" : "ipad", 45 | "size" : "40x40", 46 | "scale" : "1x" 47 | }, 48 | { 49 | "idiom" : "ipad", 50 | "size" : "40x40", 51 | "scale" : "2x" 52 | }, 53 | { 54 | "idiom" : "ipad", 55 | "size" : "76x76", 56 | "scale" : "1x" 57 | }, 58 | { 59 | "idiom" : "ipad", 60 | "size" : "76x76", 61 | "scale" : "2x" 62 | } 63 | ], 64 | "info" : { 65 | "version" : 1, 66 | "author" : "xcode" 67 | } 68 | } --------------------------------------------------------------------------------