实例介绍
【实例简介】iOS 开发MVVM实践Demo
【实例截图】
【核心代码】
.
├── MVVM-master
│ ├── FlickrSearchMVVMC
│ │ ├── FlickrSearchMVVMC
│ │ │ ├── AppDelegate.h
│ │ │ ├── AppDelegate.m
│ │ │ ├── Assets.xcassets
│ │ │ │ ├── AppIcon.appiconset
│ │ │ │ │ └── Contents.json
│ │ │ │ ├── Contents.json
│ │ │ │ ├── comment.imageset
│ │ │ │ │ ├── Contents.json
│ │ │ │ │ └── comment@2x.png
│ │ │ │ ├── fave.imageset
│ │ │ │ │ ├── Contents.json
│ │ │ │ │ └── fave@2x.png
│ │ │ │ └── icon_close.imageset
│ │ │ │ ├── Contents.json
│ │ │ │ ├── home_close.png
│ │ │ │ ├── home_close@2x.png
│ │ │ │ └── home_close@3x.png
│ │ │ ├── Base.lproj
│ │ │ │ └── LaunchScreen.storyboard
│ │ │ ├── Coordinator
│ │ │ │ ├── AppCoordinator.h
│ │ │ │ ├── AppCoordinator.m
│ │ │ │ ├── AuthenticationCoordinator.h
│ │ │ │ ├── AuthenticationCoordinator.m
│ │ │ │ ├── Coordinator.h
│ │ │ │ ├── MainCoordinator.h
│ │ │ │ └── MainCoordinator.m
│ │ │ ├── Info.plist
│ │ │ ├── Model
│ │ │ │ ├── RWTAuthenticationImpl.h
│ │ │ │ ├── RWTAuthenticationImpl.m
│ │ │ │ ├── RWTFlickrPhoto.h
│ │ │ │ ├── RWTFlickrPhoto.m
│ │ │ │ ├── RWTFlickrPhotoMetadata.h
│ │ │ │ ├── RWTFlickrPhotoMetadata.m
│ │ │ │ ├── RWTFlickrSearchImpl.h
│ │ │ │ ├── RWTFlickrSearchImpl.m
│ │ │ │ ├── RWTFlickrSearchResults.h
│ │ │ │ └── RWTFlickrSearchResults.m
│ │ │ ├── Tools
│ │ │ │ ├── UIButton BackgroundColor.h
│ │ │ │ └── UIButton BackgroundColor.m
│ │ │ ├── View
│ │ │ │ ├── CEReactiveView.h
│ │ │ │ ├── RTWForgetPSWController.h
│ │ │ │ ├── RTWForgetPSWController.m
│ │ │ │ ├── RTWForgetPSWController.xib
│ │ │ │ ├── RTWLogInViewController.h
│ │ │ │ ├── RTWLogInViewController.m
│ │ │ │ ├── RTWLogInViewController.xib
│ │ │ │ ├── RTWRegistViewController.h
│ │ │ │ ├── RTWRegistViewController.m
│ │ │ │ ├── RTWRegistViewController.xib
│ │ │ │ ├── RTWResultDetailViewController.h
│ │ │ │ ├── RTWResultDetailViewController.m
│ │ │ │ ├── RTWResultDetailViewController.xib
│ │ │ │ ├── RTWVerifyViewController.h
│ │ │ │ ├── RTWVerifyViewController.m
│ │ │ │ ├── RTWVerifyViewController.xib
│ │ │ │ ├── RWTFlickrSearchViewController.h
│ │ │ │ ├── RWTFlickrSearchViewController.m
│ │ │ │ ├── RWTFlickrSearchViewController.xib
│ │ │ │ ├── RWTSearchResultsTableViewCell.h
│ │ │ │ ├── RWTSearchResultsTableViewCell.m
│ │ │ │ ├── RWTSearchResultsTableViewCell.xib
│ │ │ │ ├── RWTSearchResultsViewController.h
│ │ │ │ ├── RWTSearchResultsViewController.m
│ │ │ │ └── RWTSearchResultsViewController.xib
│ │ │ ├── ViewModel
│ │ │ │ ├── RTWForgetViewModel.h
│ │ │ │ ├── RTWForgetViewModel.m
│ │ │ │ ├── RTWLogInViewModel.h
│ │ │ │ ├── RTWLogInViewModel.m
│ │ │ │ ├── RTWRegistViewModel.h
│ │ │ │ ├── RTWRegistViewModel.m
│ │ │ │ ├── RTWResultDetailViewModel.h
│ │ │ │ ├── RTWResultDetailViewModel.m
│ │ │ │ ├── RTWVerifyViewModel.h
│ │ │ │ ├── RTWVerifyViewModel.m
│ │ │ │ ├── RWTFlickrSearchViewModel.h
│ │ │ │ ├── RWTFlickrSearchViewModel.m
│ │ │ │ ├── RWTSearchResultsItemViewModel.h
│ │ │ │ ├── RWTSearchResultsItemViewModel.m
│ │ │ │ ├── RWTSearchResultsViewModel.h
│ │ │ │ └── RWTSearchResultsViewModel.m
│ │ │ ├── main.m
│ │ │ └── utils
│ │ │ ├── APPInfo.h
│ │ │ ├── APPInfo.m
│ │ │ ├── RTWFlickrRequestMannage.h
│ │ │ └── RTWFlickrRequestMannage.m
│ │ ├── FlickrSearchMVVMC.pch
│ │ ├── FlickrSearchMVVMC.xcodeproj
│ │ │ ├── project.pbxproj
│ │ │ ├── project.xcworkspace
│ │ │ │ ├── contents.xcworkspacedata
│ │ │ │ ├── xcshareddata
│ │ │ │ │ └── IDEWorkspaceChecks.plist
│ │ │ │ └── xcuserdata
│ │ │ │ └── niwanglong.xcuserdatad
│ │ │ │ └── UserInterfaceState.xcuserstate
│ │ │ └── xcuserdata
│ │ │ ├── lionelli.xcuserdatad
│ │ │ │ └── xcschemes
│ │ │ │ └── xcschememanagement.plist
│ │ │ └── niwanglong.xcuserdatad
│ │ │ └── xcschemes
│ │ │ └── xcschememanagement.plist
│ │ ├── FlickrSearchMVVMC.xcworkspace
│ │ │ ├── contents.xcworkspacedata
│ │ │ ├── xcshareddata
│ │ │ │ └── IDEWorkspaceChecks.plist
│ │ │ └── xcuserdata
│ │ │ ├── lionelli.xcuserdatad
│ │ │ │ └── UserInterfaceState.xcuserstate
│ │ │ └── niwanglong.xcuserdatad
│ │ │ ├── UserInterfaceState.xcuserstate
│ │ │ └── xcdebugger
│ │ │ └── Breakpoints_v2.xcbkptlist
│ │ ├── FlickrSearchMVVMCTests
│ │ │ ├── FlickrSearchMVVMCTests.m
│ │ │ └── Info.plist
│ │ ├── FlickrSearchMVVMCUITests
│ │ │ ├── FlickrSearchMVVMCUITests.m
│ │ │ └── Info.plist
│ │ ├── Podfile
│ │ ├── Podfile.lock
│ │ ├── Pods
│ │ │ ├── Headers
│ │ │ │ ├── Private
│ │ │ │ │ ├── LinqToObjectiveC
│ │ │ │ │ │ ├── LinqToObjectiveC.h
│ │ │ │ │ │ ├── NSArray LinqExtensions.h
│ │ │ │ │ │ └── NSDictionary LinqExtensions.h
│ │ │ │ │ ├── ReactiveObjC
│ │ │ │ │ │ ├── MKAnnotationView RACSignalSupport.h
│ │ │ │ │ │ ├── NSArray RACSequenceAdditions.h
│ │ │ │ │ │ ├── NSData RACSupport.h
│ │ │ │ │ │ ├── NSDictionary RACSequenceAdditions.h
│ │ │ │ │ │ ├── NSEnumerator RACSequenceAdditions.h
│ │ │ │ │ │ ├── NSFileHandle RACSupport.h
│ │ │ │ │ │ ├── NSIndexSet RACSequenceAdditions.h
│ │ │ │ │ │ ├── NSInvocation RACTypeParsing.h
│ │ │ │ │ │ ├── NSNotificationCenter RACSupport.h
│ │ │ │ │ │ ├── NSObject RACDeallocating.h
│ │ │ │ │ │ ├── NSObject RACDescription.h
│ │ │ │ │ │ ├── NSObject RACKVOWrapper.h
│ │ │ │ │ │ ├── NSObject RACLifting.h
│ │ │ │ │ │ ├── NSObject RACPropertySubscribing.h
│ │ │ │ │ │ ├── NSObject RACSelectorSignal.h
│ │ │ │ │ │ ├── NSOrderedSet RACSequenceAdditions.h
│ │ │ │ │ │ ├── NSSet RACSequenceAdditions.h
│ │ │ │ │ │ ├── NSString RACKeyPathUtilities.h
│ │ │ │ │ │ ├── NSString RACSequenceAdditions.h
│ │ │ │ │ │ ├── NSString RACSupport.h
│ │ │ │ │ │ ├── NSURLConnection RACSupport.h
│ │ │ │ │ │ ├── NSUserDefaults RACSupport.h
│ │ │ │ │ │ ├── RACAnnotations.h
│ │ │ │ │ │ ├── RACArraySequence.h
│ │ │ │ │ │ ├── RACBehaviorSubject.h
│ │ │ │ │ │ ├── RACBlockTrampoline.h
│ │ │ │ │ │ ├── RACChannel.h
│ │ │ │ │ │ ├── RACCommand.h
│ │ │ │ │ │ ├── RACCompoundDisposable.h
│ │ │ │ │ │ ├── RACDelegateProxy.h
│ │ │ │ │ │ ├── RACDisposable.h
│ │ │ │ │ │ ├── RACDynamicSequence.h
│ │ │ │ │ │ ├── RACDynamicSignal.h
│ │ │ │ │ │ ├── RACEXTKeyPathCoding.h
│ │ │ │ │ │ ├── RACEXTRuntimeExtensions.h
│ │ │ │ │ │ ├── RACEXTScope.h
│ │ │ │ │ │ ├── RACEagerSequence.h
│ │ │ │ │ │ ├── RACEmptySequence.h
│ │ │ │ │ │ ├── RACEmptySignal.h
│ │ │ │ │ │ ├── RACErrorSignal.h
│ │ │ │ │ │ ├── RACEvent.h
│ │ │ │ │ │ ├── RACGroupedSignal.h
│ │ │ │ │ │ ├── RACImmediateScheduler.h
│ │ │ │ │ │ ├── RACIndexSetSequence.h
│ │ │ │ │ │ ├── RACKVOChannel.h
│ │ │ │ │ │ ├── RACKVOProxy.h
│ │ │ │ │ │ ├── RACKVOTrampoline.h
│ │ │ │ │ │ ├── RACMulticastConnection Private.h
│ │ │ │ │ │ ├── RACMulticastConnection.h
│ │ │ │ │ │ ├── RACPassthroughSubscriber.h
│ │ │ │ │ │ ├── RACQueueScheduler Subclass.h
│ │ │ │ │ │ ├── RACQueueScheduler.h
│ │ │ │ │ │ ├── RACReplaySubject.h
│ │ │ │ │ │ ├── RACReturnSignal.h
│ │ │ │ │ │ ├── RACScheduler Private.h
│ │ │ │ │ │ ├── RACScheduler Subclass.h
│ │ │ │ │ │ ├── RACScheduler.h
│ │ │ │ │ │ ├── RACScopedDisposable.h
│ │ │ │ │ │ ├── RACSequence.h
│ │ │ │ │ │ ├── RACSerialDisposable.h
│ │ │ │ │ │ ├── RACSignal Operations.h
│ │ │ │ │ │ ├── RACSignal.h
│ │ │ │ │ │ ├── RACSignalSequence.h
│ │ │ │ │ │ ├── RACStream Private.h
│ │ │ │ │ │ ├── RACStream.h
│ │ │ │ │ │ ├── RACStringSequence.h
│ │ │ │ │ │ ├── RACSubject.h
│ │ │ │ │ │ ├── RACSubscriber Private.h
│ │ │ │ │ │ ├── RACSubscriber.h
│ │ │ │ │ │ ├── RACSubscriptingAssignmentTrampoline.h
│ │ │ │ │ │ ├── RACSubscriptionScheduler.h
│ │ │ │ │ │ ├── RACTargetQueueScheduler.h
│ │ │ │ │ │ ├── RACTestScheduler.h
│ │ │ │ │ │ ├── RACTuple.h
│ │ │ │ │ │ ├── RACTupleSequence.h
│ │ │ │ │ │ ├── RACUnarySequence.h
│ │ │ │ │ │ ├── RACUnit.h
│ │ │ │ │ │ ├── RACValueTransformer.h
│ │ │ │ │ │ ├── RACmetamacros.h
│ │ │ │ │ │ ├── ReactiveObjC.h
│ │ │ │ │ │ ├── UIActionSheet RACSignalSupport.h
│ │ │ │ │ │ ├── UIAlertView RACSignalSupport.h
│ │ │ │ │ │ ├── UIBarButtonItem RACCommandSupport.h
│ │ │ │ │ │ ├── UIButton RACCommandSupport.h
│ │ │ │ │ │ ├── UICollectionReusableView RACSignalSupport.h
│ │ │ │ │ │ ├── UIControl RACSignalSupport.h
│ │ │ │ │ │ ├── UIControl RACSignalSupportPrivate.h
│ │ │ │ │ │ ├── UIDatePicker RACSignalSupport.h
│ │ │ │ │ │ ├── UIGestureRecognizer RACSignalSupport.h
│ │ │ │ │ │ ├── UIImagePickerController RACSignalSupport.h
│ │ │ │ │ │ ├── UIRefreshControl RACCommandSupport.h
│ │ │ │ │ │ ├── UISegmentedControl RACSignalSupport.h
│ │ │ │ │ │ ├── UISlider RACSignalSupport.h
│ │ │ │ │ │ ├── UIStepper RACSignalSupport.h
│ │ │ │ │ │ ├── UISwitch RACSignalSupport.h
│ │ │ │ │ │ ├── UITableViewCell RACSignalSupport.h
│ │ │ │ │ │ ├── UITableViewHeaderFooterView RACSignalSupport.h
│ │ │ │ │ │ ├── UITextField RACSignalSupport.h
│ │ │ │ │ │ └── UITextView RACSignalSupport.h
│ │ │ │ │ ├── SDWebImage
│ │ │ │ │ │ ├── NSButton WebCache.h
│ │ │ │ │ │ ├── NSData ImageContentType.h
│ │ │ │ │ │ ├── NSImage WebCache.h
│ │ │ │ │ │ ├── SDAnimatedImageRep.h
│ │ │ │ │ │ ├── SDImageCache.h
│ │ │ │ │ │ ├── SDImageCacheConfig.h
│ │ │ │ │ │ ├── SDWebImageCoder.h
│ │ │ │ │ │ ├── SDWebImageCoderHelper.h
│ │ │ │ │ │ ├── SDWebImageCodersManager.h
│ │ │ │ │ │ ├── SDWebImageCompat.h
│ │ │ │ │ │ ├── SDWebImageDownloader.h
│ │ │ │ │ │ ├── SDWebImageDownloaderOperation.h
│ │ │ │ │ │ ├── SDWebImageFrame.h
│ │ │ │ │ │ ├── SDWebImageGIFCoder.h
│ │ │ │ │ │ ├── SDWebImageImageIOCoder.h
│ │ │ │ │ │ ├── SDWebImageManager.h
│ │ │ │ │ │ ├── SDWebImageOperation.h
│ │ │ │ │ │ ├── SDWebImagePrefetcher.h
│ │ │ │ │ │ ├── SDWebImageTransition.h
│ │ │ │ │ │ ├── UIButton WebCache.h
│ │ │ │ │ │ ├── UIImage ForceDecode.h
│ │ │ │ │ │ ├── UIImage GIF.h
│ │ │ │ │ │ ├── UIImage MultiFormat.h
│ │ │ │ │ │ ├── UIImageView HighlightedWebCache.h
│ │ │ │ │ │ ├── UIImageView WebCache.h
│ │ │ │ │ │ ├── UIView WebCache.h
│ │ │ │ │ │ └── UIView WebCacheOperation.h
│ │ │ │ │ ├── SVProgressHUD
│ │ │ │ │ │ ├── SVIndefiniteAnimatedView.h
│ │ │ │ │ │ ├── SVProgressAnimatedView.h
│ │ │ │ │ │ ├── SVProgressHUD.h
│ │ │ │ │ │ └── SVRadialGradientLayer.h
│ │ │ │ │ ├── YYModel
│ │ │ │ │ │ ├── NSObject YYModel.h
│ │ │ │ │ │ ├── YYClassInfo.h
│ │ │ │ │ │ └── YYModel.h
│ │ │ │ │ └── objectiveflickr
│ │ │ │ │ ├── LFHTTPRequest.h
│ │ │ │ │ ├── LFSiteReachability.h
│ │ │ │ │ ├── LFWebAPIKit.h
│ │ │ │ │ ├── NSData LFHTTPFormExtensions.h
│ │ │ │ │ ├── OFUtilities.h
│ │ │ │ │ ├── OFXMLMapper.h
│ │ │ │ │ └── ObjectiveFlickr.h
│ │ │ │ └── Public
│ │ │ │ ├── LinqToObjectiveC
│ │ │ │ │ ├── LinqToObjectiveC.h
│ │ │ │ │ ├── NSArray LinqExtensions.h
│ │ │ │ │ └── NSDictionary LinqExtensions.h
│ │ │ │ ├── ReactiveObjC
│ │ │ │ │ ├── MKAnnotationView RACSignalSupport.h
│ │ │ │ │ ├── NSArray RACSequenceAdditions.h
│ │ │ │ │ ├── NSData RACSupport.h
│ │ │ │ │ ├── NSDictionary RACSequenceAdditions.h
│ │ │ │ │ ├── NSEnumerator RACSequenceAdditions.h
│ │ │ │ │ ├── NSFileHandle RACSupport.h
│ │ │ │ │ ├── NSIndexSet RACSequenceAdditions.h
│ │ │ │ │ ├── NSInvocation RACTypeParsing.h
│ │ │ │ │ ├── NSNotificationCenter RACSupport.h
│ │ │ │ │ ├── NSObject RACDeallocating.h
│ │ │ │ │ ├── NSObject RACDescription.h
│ │ │ │ │ ├── NSObject RACKVOWrapper.h
│ │ │ │ │ ├── NSObject RACLifting.h
│ │ │ │ │ ├── NSObject RACPropertySubscribing.h
│ │ │ │ │ ├── NSObject RACSelectorSignal.h
│ │ │ │ │ ├── NSOrderedSet RACSequenceAdditions.h
│ │ │ │ │ ├── NSSet RACSequenceAdditions.h
│ │ │ │ │ ├── NSString RACKeyPathUtilities.h
│ │ │ │ │ ├── NSString RACSequenceAdditions.h
│ │ │ │ │ ├── NSString RACSupport.h
│ │ │ │ │ ├── NSURLConnection RACSupport.h
│ │ │ │ │ ├── NSUserDefaults RACSupport.h
│ │ │ │ │ ├── RACAnnotations.h
│ │ │ │ │ ├── RACArraySequence.h
│ │ │ │ │ ├── RACBehaviorSubject.h
│ │ │ │ │ ├── RACBlockTrampoline.h
│ │ │ │ │ ├── RACChannel.h
│ │ │ │ │ ├── RACCommand.h
│ │ │ │ │ ├── RACCompoundDisposable.h
│ │ │ │ │ ├── RACDelegateProxy.h
│ │ │ │ │ ├── RACDisposable.h
│ │ │ │ │ ├── RACDynamicSequence.h
│ │ │ │ │ ├── RACDynamicSignal.h
│ │ │ │ │ ├── RACEXTKeyPathCoding.h
│ │ │ │ │ ├── RACEXTScope.h
│ │ │ │ │ ├── RACEagerSequence.h
│ │ │ │ │ ├── RACErrorSignal.h
│ │ │ │ │ ├── RACEvent.h
│ │ │ │ │ ├── RACGroupedSignal.h
│ │ │ │ │ ├── RACImmediateScheduler.h
│ │ │ │ │ ├── RACIndexSetSequence.h
│ │ │ │ │ ├── RACKVOChannel.h
│ │ │ │ │ ├── RACKVOProxy.h
│ │ │ │ │ ├── RACKVOTrampoline.h
│ │ │ │ │ ├── RACMulticastConnection.h
│ │ │ │ │ ├── RACPassthroughSubscriber.h
│ │ │ │ │ ├── RACQueueScheduler Subclass.h
│ │ │ │ │ ├── RACQueueScheduler.h
│ │ │ │ │ ├── RACReplaySubject.h
│ │ │ │ │ ├── RACReturnSignal.h
│ │ │ │ │ ├── RACScheduler Subclass.h
│ │ │ │ │ ├── RACScheduler.h
│ │ │ │ │ ├── RACScopedDisposable.h
│ │ │ │ │ ├── RACSequence.h
│ │ │ │ │ ├── RACSerialDisposable.h
│ │ │ │ │ ├── RACSignal Operations.h
│ │ │ │ │ ├── RACSignal.h
│ │ │ │ │ ├── RACSignalSequence.h
│ │ │ │ │ ├── RACStream.h
│ │ │ │ │ ├── RACStringSequence.h
│ │ │ │ │ ├── RACSubject.h
│ │ │ │ │ ├── RACSubscriber.h
│ │ │ │ │ ├── RACSubscriptingAssignmentTrampoline.h
│ │ │ │ │ ├── RACSubscriptionScheduler.h
│ │ │ │ │ ├── RACTargetQueueScheduler.h
│ │ │ │ │ ├── RACTestScheduler.h
│ │ │ │ │ ├── RACTuple.h
│ │ │ │ │ ├── RACTupleSequence.h
│ │ │ │ │ ├── RACUnarySequence.h
│ │ │ │ │ ├── RACUnit.h
│ │ │ │ │ ├── RACValueTransformer.h
│ │ │ │ │ ├── RACmetamacros.h
│ │ │ │ │ ├── ReactiveObjC.h
│ │ │ │ │ ├── UIActionSheet RACSignalSupport.h
│ │ │ │ │ ├── UIAlertView RACSignalSupport.h
│ │ │ │ │ ├── UIBarButtonItem RACCommandSupport.h
│ │ │ │ │ ├── UIButton RACCommandSupport.h
│ │ │ │ │ ├── UICollectionReusableView RACSignalSupport.h
│ │ │ │ │ ├── UIControl RACSignalSupport.h
│ │ │ │ │ ├── UIDatePicker RACSignalSupport.h
│ │ │ │ │ ├── UIGestureRecognizer RACSignalSupport.h
│ │ │ │ │ ├── UIImagePickerController RACSignalSupport.h
│ │ │ │ │ ├── UIRefreshControl RACCommandSupport.h
│ │ │ │ │ ├── UISegmentedControl RACSignalSupport.h
│ │ │ │ │ ├── UISlider RACSignalSupport.h
│ │ │ │ │ ├── UIStepper RACSignalSupport.h
│ │ │ │ │ ├── UISwitch RACSignalSupport.h
│ │ │ │ │ ├── UITableViewCell RACSignalSupport.h
│ │ │ │ │ ├── UITableViewHeaderFooterView RACSignalSupport.h
│ │ │ │ │ ├── UITextField RACSignalSupport.h
│ │ │ │ │ └── UITextView RACSignalSupport.h
│ │ │ │ ├── SDWebImage
│ │ │ │ │ ├── NSButton WebCache.h
│ │ │ │ │ ├── NSData ImageContentType.h
│ │ │ │ │ ├── NSImage WebCache.h
│ │ │ │ │ ├── SDAnimatedImageRep.h
│ │ │ │ │ ├── SDImageCache.h
│ │ │ │ │ ├── SDImageCacheConfig.h
│ │ │ │ │ ├── SDWebImageCoder.h
│ │ │ │ │ ├── SDWebImageCoderHelper.h
│ │ │ │ │ ├── SDWebImageCodersManager.h
│ │ │ │ │ ├── SDWebImageCompat.h
│ │ │ │ │ ├── SDWebImageDownloader.h
│ │ │ │ │ ├── SDWebImageDownloaderOperation.h
│ │ │ │ │ ├── SDWebImageFrame.h
│ │ │ │ │ ├── SDWebImageGIFCoder.h
│ │ │ │ │ ├── SDWebImageImageIOCoder.h
│ │ │ │ │ ├── SDWebImageManager.h
│ │ │ │ │ ├── SDWebImageOperation.h
│ │ │ │ │ ├── SDWebImagePrefetcher.h
│ │ │ │ │ ├── SDWebImageTransition.h
│ │ │ │ │ ├── UIButton WebCache.h
│ │ │ │ │ ├── UIImage ForceDecode.h
│ │ │ │ │ ├── UIImage GIF.h
│ │ │ │ │ ├── UIImage MultiFormat.h
│ │ │ │ │ ├── UIImageView HighlightedWebCache.h
│ │ │ │ │ ├── UIImageView WebCache.h
│ │ │ │ │ ├── UIView WebCache.h
│ │ │ │ │ └── UIView WebCacheOperation.h
│ │ │ │ ├── SVProgressHUD
│ │ │ │ │ ├── SVIndefiniteAnimatedView.h
│ │ │ │ │ ├── SVProgressAnimatedView.h
│ │ │ │ │ ├── SVProgressHUD.h
│ │ │ │ │ └── SVRadialGradientLayer.h
│ │ │ │ ├── YYModel
│ │ │ │ │ ├── NSObject YYModel.h
│ │ │ │ │ ├── YYClassInfo.h
│ │ │ │ │ └── YYModel.h
│ │ │ │ └── objectiveflickr
│ │ │ │ ├── LFHTTPRequest.h
│ │ │ │ ├── LFSiteReachability.h
│ │ │ │ ├── LFWebAPIKit.h
│ │ │ │ ├── NSData LFHTTPFormExtensions.h
│ │ │ │ ├── OFUtilities.h
│ │ │ │ ├── OFXMLMapper.h
│ │ │ │ └── ObjectiveFlickr.h
│ │ │ ├── LinqToObjectiveC
│ │ │ │ ├── LinqToObjectiveC.h
│ │ │ │ ├── MIT-LICENSE.txt
│ │ │ │ ├── NSArray LinqExtensions.h
│ │ │ │ ├── NSArray LinqExtensions.m
│ │ │ │ ├── NSDictionary LinqExtensions.h
│ │ │ │ ├── NSDictionary LinqExtensions.m
│ │ │ │ └── README.md
│ │ │ ├── Manifest.lock
│ │ │ ├── Pods.xcodeproj
│ │ │ │ ├── project.pbxproj
│ │ │ │ └── xcuserdata
│ │ │ │ ├── lionelli.xcuserdatad
│ │ │ │ │ └── xcschemes
│ │ │ │ │ └── xcschememanagement.plist
│ │ │ │ └── niwanglong.xcuserdatad
│ │ │ │ └── xcschemes
│ │ │ │ ├── LinqToObjectiveC.xcscheme
│ │ │ │ ├── Pods-FlickrSearchMVVMC.xcscheme
│ │ │ │ ├── ReactiveObjC.xcscheme
│ │ │ │ ├── SDWebImage.xcscheme
│ │ │ │ ├── SVProgressHUD.xcscheme
│ │ │ │ ├── YYModel.xcscheme
│ │ │ │ ├── objectiveflickr.xcscheme
│ │ │ │ └── xcschememanagement.plist
│ │ │ ├── ReactiveCocoa
│ │ │ │ ├── LICENSE.md
│ │ │ │ ├── README.md
│ │ │ │ └── ReactiveCocoa
│ │ │ │ ├── AppKit
│ │ │ │ │ ├── ActionProxy.swift
│ │ │ │ │ ├── NSButton.swift
│ │ │ │ │ ├── NSCollectionView.swift
│ │ │ │ │ ├── NSControl.swift
│ │ │ │ │ ├── NSImageView.swift
│ │ │ │ │ ├── NSPopUpButton.swift
│ │ │ │ │ ├── NSSegmentedControl.swift
│ │ │ │ │ ├── NSSlider.swift
│ │ │ │ │ ├── NSTableView.swift
│ │ │ │ │ ├── NSTextField.swift
│ │ │ │ │ ├── NSTextView.swift
│ │ │ │ │ └── ReusableComponents.swift
│ │ │ │ ├── CocoaAction.swift
│ │ │ │ ├── CocoaTarget.swift
│ │ │ │ ├── DelegateProxy.swift
│ │ │ │ ├── Deprecations Removals.swift
│ │ │ │ ├── DynamicProperty.swift
│ │ │ │ ├── NSObject Association.swift
│ │ │ │ ├── NSObject BindingTarget.swift
│ │ │ │ ├── NSObject Intercepting.swift
│ │ │ │ ├── NSObject KeyValueObserving.swift
│ │ │ │ ├── NSObject Lifetime.swift
│ │ │ │ ├── NSObject ObjCRuntime.swift
│ │ │ │ ├── NSObject ReactiveExtensionsProvider.swift
│ │ │ │ ├── NSObject Synchronizing.swift
│ │ │ │ ├── ObjC Constants.swift
│ │ │ │ ├── ObjC Messages.swift
│ │ │ │ ├── ObjC Runtime.swift
│ │ │ │ ├── ObjC RuntimeSubclassing.swift
│ │ │ │ ├── ObjC Selector.swift
│ │ │ │ ├── ObjCRuntimeAliases.h
│ │ │ │ ├── ObjCRuntimeAliases.m
│ │ │ │ ├── ReactiveCocoa.h
│ │ │ │ ├── ReactiveSwift Lifetime.swift
│ │ │ │ ├── Shared
│ │ │ │ │ └── NSLayoutConstraint.swift
│ │ │ │ ├── UIKit
│ │ │ │ │ ├── ReusableComponents.swift
│ │ │ │ │ ├── UIActivityIndicatorView.swift
│ │ │ │ │ ├── UIBarButtonItem.swift
│ │ │ │ │ ├── UIBarItem.swift
│ │ │ │ │ ├── UIButton.swift
│ │ │ │ │ ├── UICollectionView.swift
│ │ │ │ │ ├── UIControl.swift
│ │ │ │ │ ├── UIGestureRecognizer.swift
│ │ │ │ │ ├── UIImageView.swift
│ │ │ │ │ ├── UILabel.swift
│ │ │ │ │ ├── UINavigationItem.swift
│ │ │ │ │ ├── UIProgressView.swift
│ │ │ │ │ ├── UIScrollView.swift
│ │ │ │ │ ├── UISegmentedControl.swift
│ │ │ │ │ ├── UITabBarItem.swift
│ │ │ │ │ ├── UITableView.swift
│ │ │ │ │ ├── UITextField.swift
│ │ │ │ │ ├── UITextView.swift
│ │ │ │ │ ├── UIView.swift
│ │ │ │ │ └── iOS
│ │ │ │ │ ├── UIDatePicker.swift
│ │ │ │ │ ├── UIFeedbackGenerator.swift
│ │ │ │ │ ├── UIImpactFeedbackGenerator.swift
│ │ │ │ │ ├── UIKeyboard.swift
│ │ │ │ │ ├── UINotificationFeedbackGenerator.swift
│ │ │ │ │ ├── UIPickerView.swift
│ │ │ │ │ ├── UIRefreshControl.swift
│ │ │ │ │ ├── UISearchBar.swift
│ │ │ │ │ ├── UISelectionFeedbackGenerator.swift
│ │ │ │ │ ├── UISlider.swift
│ │ │ │ │ ├── UIStepper.swift
│ │ │ │ │ └── UISwitch.swift
│ │ │ │ └── module.modulemap
│ │ │ ├── ReactiveObjC
│ │ │ │ ├── LICENSE.md
│ │ │ │ ├── README.md
│ │ │ │ └── ReactiveObjC
│ │ │ │ ├── MKAnnotationView RACSignalSupport.h
│ │ │ │ ├── MKAnnotationView RACSignalSupport.m
│ │ │ │ ├── NSArray RACSequenceAdditions.h
│ │ │ │ ├── NSArray RACSequenceAdditions.m
│ │ │ │ ├── NSData RACSupport.h
│ │ │ │ ├── NSData RACSupport.m
│ │ │ │ ├── NSDictionary RACSequenceAdditions.h
│ │ │ │ ├── NSDictionary RACSequenceAdditions.m
│ │ │ │ ├── NSEnumerator RACSequenceAdditions.h
│ │ │ │ ├── NSEnumerator RACSequenceAdditions.m
│ │ │ │ ├── NSFileHandle RACSupport.h
│ │ │ │ ├── NSFileHandle RACSupport.m
│ │ │ │ ├── NSIndexSet RACSequenceAdditions.h
│ │ │ │ ├── NSIndexSet RACSequenceAdditions.m
│ │ │ │ ├── NSInvocation RACTypeParsing.h
│ │ │ │ ├── NSInvocation RACTypeParsing.m
│ │ │ │ ├── NSNotificationCenter RACSupport.h
│ │ │ │ ├── NSNotificationCenter RACSupport.m
│ │ │ │ ├── NSObject RACDeallocating.h
│ │ │ │ ├── NSObject RACDeallocating.m
│ │ │ │ ├── NSObject RACDescription.h
│ │ │ │ ├── NSObject RACDescription.m
│ │ │ │ ├── NSObject RACKVOWrapper.h
│ │ │ │ ├── NSObject RACKVOWrapper.m
│ │ │ │ ├── NSObject RACLifting.h
│ │ │ │ ├── NSObject RACLifting.m
│ │ │ │ ├── NSObject RACPropertySubscribing.h
│ │ │ │ ├── NSObject RACPropertySubscribing.m
│ │ │ │ ├── NSObject RACSelectorSignal.h
│ │ │ │ ├── NSObject RACSelectorSignal.m
│ │ │ │ ├── NSOrderedSet RACSequenceAdditions.h
│ │ │ │ ├── NSOrderedSet RACSequenceAdditions.m
│ │ │ │ ├── NSSet RACSequenceAdditions.h
│ │ │ │ ├── NSSet RACSequenceAdditions.m
│ │ │ │ ├── NSString RACKeyPathUtilities.h
│ │ │ │ ├── NSString RACKeyPathUtilities.m
│ │ │ │ ├── NSString RACSequenceAdditions.h
│ │ │ │ ├── NSString RACSequenceAdditions.m
│ │ │ │ ├── NSString RACSupport.h
│ │ │ │ ├── NSString RACSupport.m
│ │ │ │ ├── NSURLConnection RACSupport.h
│ │ │ │ ├── NSURLConnection RACSupport.m
│ │ │ │ ├── NSUserDefaults RACSupport.h
│ │ │ │ ├── NSUserDefaults RACSupport.m
│ │ │ │ ├── RACAnnotations.h
│ │ │ │ ├── RACArraySequence.h
│ │ │ │ ├── RACArraySequence.m
│ │ │ │ ├── RACBehaviorSubject.h
│ │ │ │ ├── RACBehaviorSubject.m
│ │ │ │ ├── RACBlockTrampoline.h
│ │ │ │ ├── RACBlockTrampoline.m
│ │ │ │ ├── RACChannel.h
│ │ │ │ ├── RACChannel.m
│ │ │ │ ├── RACCommand.h
│ │ │ │ ├── RACCommand.m
│ │ │ │ ├── RACCompoundDisposable.h
│ │ │ │ ├── RACCompoundDisposable.m
│ │ │ │ ├── RACCompoundDisposableProvider.d
│ │ │ │ ├── RACDelegateProxy.h
│ │ │ │ ├── RACDelegateProxy.m
│ │ │ │ ├── RACDisposable.h
│ │ │ │ ├── RACDisposable.m
│ │ │ │ ├── RACDynamicSequence.h
│ │ │ │ ├── RACDynamicSequence.m
│ │ │ │ ├── RACDynamicSignal.h
│ │ │ │ ├── RACDynamicSignal.m
│ │ │ │ ├── RACEagerSequence.h
│ │ │ │ ├── RACEagerSequence.m
│ │ │ │ ├── RACEmptySequence.h
│ │ │ │ ├── RACEmptySequence.m
│ │ │ │ ├── RACEmptySignal.h
│ │ │ │ ├── RACEmptySignal.m
│ │ │ │ ├── RACErrorSignal.h
│ │ │ │ ├── RACErrorSignal.m
│ │ │ │ ├── RACEvent.h
│ │ │ │ ├── RACEvent.m
│ │ │ │ ├── RACGroupedSignal.h
│ │ │ │ ├── RACGroupedSignal.m
│ │ │ │ ├── RACImmediateScheduler.h
│ │ │ │ ├── RACImmediateScheduler.m
│ │ │ │ ├── RACIndexSetSequence.h
│ │ │ │ ├── RACIndexSetSequence.m
│ │ │ │ ├── RACKVOChannel.h
│ │ │ │ ├── RACKVOChannel.m
│ │ │ │ ├── RACKVOProxy.h
│ │ │ │ ├── RACKVOProxy.m
│ │ │ │ ├── RACKVOTrampoline.h
│ │ │ │ ├── RACKVOTrampoline.m
│ │ │ │ ├── RACMulticastConnection Private.h
│ │ │ │ ├── RACMulticastConnection.h
│ │ │ │ ├── RACMulticastConnection.m
│ │ │ │ ├── RACPassthroughSubscriber.h
│ │ │ │ ├── RACPassthroughSubscriber.m
│ │ │ │ ├── RACQueueScheduler Subclass.h
│ │ │ │ ├── RACQueueScheduler.h
│ │ │ │ ├── RACQueueScheduler.m
│ │ │ │ ├── RACReplaySubject.h
│ │ │ │ ├── RACReplaySubject.m
│ │ │ │ ├── RACReturnSignal.h
│ │ │ │ ├── RACReturnSignal.m
│ │ │ │ ├── RACScheduler Private.h
│ │ │ │ ├── RACScheduler Subclass.h
│ │ │ │ ├── RACScheduler.h
│ │ │ │ ├── RACScheduler.m
│ │ │ │ ├── RACScopedDisposable.h
│ │ │ │ ├── RACScopedDisposable.m
│ │ │ │ ├── RACSequence.h
│ │ │ │ ├── RACSequence.m
│ │ │ │ ├── RACSerialDisposable.h
│ │ │ │ ├── RACSerialDisposable.m
│ │ │ │ ├── RACSignal Operations.h
│ │ │ │ ├── RACSignal Operations.m
│ │ │ │ ├── RACSignal.h
│ │ │ │ ├── RACSignal.m
│ │ │ │ ├── RACSignalProvider.d
│ │ │ │ ├── RACSignalSequence.h
│ │ │ │ ├── RACSignalSequence.m
│ │ │ │ ├── RACStream Private.h
│ │ │ │ ├── RACStream.h
│ │ │ │ ├── RACStream.m
│ │ │ │ ├── RACStringSequence.h
│ │ │ │ ├── RACStringSequence.m
│ │ │ │ ├── RACSubject.h
│ │ │ │ ├── RACSubject.m
│ │ │ │ ├── RACSubscriber Private.h
│ │ │ │ ├── RACSubscriber.h
│ │ │ │ ├── RACSubscriber.m
│ │ │ │ ├── RACSubscriptingAssignmentTrampoline.h
│ │ │ │ ├── RACSubscriptingAssignmentTrampoline.m
│ │ │ │ ├── RACSubscriptionScheduler.h
│ │ │ │ ├── RACSubscriptionScheduler.m
│ │ │ │ ├── RACTargetQueueScheduler.h
│ │ │ │ ├── RACTargetQueueScheduler.m
│ │ │ │ ├── RACTestScheduler.h
│ │ │ │ ├── RACTestScheduler.m
│ │ │ │ ├── RACTuple.h
│ │ │ │ ├── RACTuple.m
│ │ │ │ ├── RACTupleSequence.h
│ │ │ │ ├── RACTupleSequence.m
│ │ │ │ ├── RACUnarySequence.h
│ │ │ │ ├── RACUnarySequence.m
│ │ │ │ ├── RACUnit.h
│ │ │ │ ├── RACUnit.m
│ │ │ │ ├── RACValueTransformer.h
│ │ │ │ ├── RACValueTransformer.m
│ │ │ │ ├── ReactiveObjC.h
│ │ │ │ ├── UIActionSheet RACSignalSupport.h
│ │ │ │ ├── UIActionSheet RACSignalSupport.m
│ │ │ │ ├── UIAlertView RACSignalSupport.h
│ │ │ │ ├── UIAlertView RACSignalSupport.m
│ │ │ │ ├── UIBarButtonItem RACCommandSupport.h
│ │ │ │ ├── UIBarButtonItem RACCommandSupport.m
│ │ │ │ ├── UIButton RACCommandSupport.h
│ │ │ │ ├── UIButton RACCommandSupport.m
│ │ │ │ ├── UICollectionReusableView RACSignalSupport.h
│ │ │ │ ├── UICollectionReusableView RACSignalSupport.m
│ │ │ │ ├── UIControl RACSignalSupport.h
│ │ │ │ ├── UIControl RACSignalSupport.m
│ │ │ │ ├── UIControl RACSignalSupportPrivate.h
│ │ │ │ ├── UIControl RACSignalSupportPrivate.m
│ │ │ │ ├── UIDatePicker RACSignalSupport.h
│ │ │ │ ├── UIDatePicker RACSignalSupport.m
│ │ │ │ ├── UIGestureRecognizer RACSignalSupport.h
│ │ │ │ ├── UIGestureRecognizer RACSignalSupport.m
│ │ │ │ ├── UIImagePickerController RACSignalSupport.h
│ │ │ │ ├── UIImagePickerController RACSignalSupport.m
│ │ │ │ ├── UIRefreshControl RACCommandSupport.h
│ │ │ │ ├── UIRefreshControl RACCommandSupport.m
│ │ │ │ ├── UISegmentedControl RACSignalSupport.h
│ │ │ │ ├── UISegmentedControl RACSignalSupport.m
│ │ │ │ ├── UISlider RACSignalSupport.h
│ │ │ │ ├── UISlider RACSignalSupport.m
│ │ │ │ ├── UIStepper RACSignalSupport.h
│ │ │ │ ├── UIStepper RACSignalSupport.m
│ │ │ │ ├── UISwitch RACSignalSupport.h
│ │ │ │ ├── UISwitch RACSignalSupport.m
│ │ │ │ ├── UITableViewCell RACSignalSupport.h
│ │ │ │ ├── UITableViewCell RACSignalSupport.m
│ │ │ │ ├── UITableViewHeaderFooterView RACSignalSupport.h
│ │ │ │ ├── UITableViewHeaderFooterView RACSignalSupport.m
│ │ │ │ ├── UITextField RACSignalSupport.h
│ │ │ │ ├── UITextField RACSignalSupport.m
│ │ │ │ ├── UITextView RACSignalSupport.h
│ │ │ │ ├── UITextView RACSignalSupport.m
│ │ │ │ └── extobjc
│ │ │ │ ├── RACEXTKeyPathCoding.h
│ │ │ │ ├── RACEXTRuntimeExtensions.h
│ │ │ │ ├── RACEXTRuntimeExtensions.m
│ │ │ │ ├── RACEXTScope.h
│ │ │ │ └── RACmetamacros.h
│ │ │ ├── ReactiveSwift
│ │ │ │ ├── LICENSE.md
│ │ │ │ ├── README.md
│ │ │ │ └── Sources
│ │ │ │ ├── Action.swift
│ │ │ │ ├── Atomic.swift
│ │ │ │ ├── Bag.swift
│ │ │ │ ├── Deprecations Removals.swift
│ │ │ │ ├── Disposable.swift
│ │ │ │ ├── Event.swift
│ │ │ │ ├── EventLogger.swift
│ │ │ │ ├── Flatten.swift
│ │ │ │ ├── FoundationExtensions.swift
│ │ │ │ ├── Lifetime.swift
│ │ │ │ ├── Observer.swift
│ │ │ │ ├── Optional.swift
│ │ │ │ ├── Property.swift
│ │ │ │ ├── Reactive.swift
│ │ │ │ ├── ResultExtensions.swift
│ │ │ │ ├── Scheduler.swift
│ │ │ │ ├── Signal.swift
│ │ │ │ ├── SignalProducer.swift
│ │ │ │ ├── UnidirectionalBinding.swift
│ │ │ │ ├── UninhabitedTypeGuards.swift
│ │ │ │ └── ValidatingProperty.swift
│ │ │ ├── Result
│ │ │ │ ├── LICENSE
│ │ │ │ ├── README.md
│ │ │ │ └── Result
│ │ │ │ ├── Result.swift
│ │ │ │ └── ResultProtocol.swift
│ │ │ ├── SDWebImage
│ │ │ │ ├── LICENSE
│ │ │ │ ├── README.md
│ │ │ │ └── SDWebImage
│ │ │ │ ├── NSButton WebCache.h
│ │ │ │ ├── NSButton WebCache.m
│ │ │ │ ├── NSData ImageContentType.h
│ │ │ │ ├── NSData ImageContentType.m
│ │ │ │ ├── NSImage WebCache.h
│ │ │ │ ├── NSImage WebCache.m
│ │ │ │ ├── SDAnimatedImageRep.h
│ │ │ │ ├── SDAnimatedImageRep.m
│ │ │ │ ├── SDImageCache.h
│ │ │ │ ├── SDImageCache.m
│ │ │ │ ├── SDImageCacheConfig.h
│ │ │ │ ├── SDImageCacheConfig.m
│ │ │ │ ├── SDWebImageCoder.h
│ │ │ │ ├── SDWebImageCoder.m
│ │ │ │ ├── SDWebImageCoderHelper.h
│ │ │ │ ├── SDWebImageCoderHelper.m
│ │ │ │ ├── SDWebImageCodersManager.h
│ │ │ │ ├── SDWebImageCodersManager.m
│ │ │ │ ├── SDWebImageCompat.h
│ │ │ │ ├── SDWebImageCompat.m
│ │ │ │ ├── SDWebImageDownloader.h
│ │ │ │ ├── SDWebImageDownloader.m
│ │ │ │ ├── SDWebImageDownloaderOperation.h
│ │ │ │ ├── SDWebImageDownloaderOperation.m
│ │ │ │ ├── SDWebImageFrame.h
│ │ │ │ ├── SDWebImageFrame.m
│ │ │ │ ├── SDWebImageGIFCoder.h
│ │ │ │ ├── SDWebImageGIFCoder.m
│ │ │ │ ├── SDWebImageImageIOCoder.h
│ │ │ │ ├── SDWebImageImageIOCoder.m
│ │ │ │ ├── SDWebImageManager.h
│ │ │ │ ├── SDWebImageManager.m
│ │ │ │ ├── SDWebImageOperation.h
│ │ │ │ ├── SDWebImagePrefetcher.h
│ │ │ │ ├── SDWebImagePrefetcher.m
│ │ │ │ ├── SDWebImageTransition.h
│ │ │ │ ├── SDWebImageTransition.m
│ │ │ │ ├── UIButton WebCache.h
│ │ │ │ ├── UIButton WebCache.m
│ │ │ │ ├── UIImage ForceDecode.h
│ │ │ │ ├── UIImage ForceDecode.m
│ │ │ │ ├── UIImage GIF.h
│ │ │ │ ├── UIImage GIF.m
│ │ │ │ ├── UIImage MultiFormat.h
│ │ │ │ ├── UIImage MultiFormat.m
│ │ │ │ ├── UIImageView HighlightedWebCache.h
│ │ │ │ ├── UIImageView HighlightedWebCache.m
│ │ │ │ ├── UIImageView WebCache.h
│ │ │ │ ├── UIImageView WebCache.m
│ │ │ │ ├── UIView WebCache.h
│ │ │ │ ├── UIView WebCache.m
│ │ │ │ ├── UIView WebCacheOperation.h
│ │ │ │ └── UIView WebCacheOperation.m
│ │ │ ├── SVProgressHUD
│ │ │ │ ├── LICENSE
│ │ │ │ ├── README.md
│ │ │ │ └── SVProgressHUD
│ │ │ │ ├── SVIndefiniteAnimatedView.h
│ │ │ │ ├── SVIndefiniteAnimatedView.m
│ │ │ │ ├── SVProgressAnimatedView.h
│ │ │ │ ├── SVProgressAnimatedView.m
│ │ │ │ ├── SVProgressHUD.bundle
│ │ │ │ │ ├── angle-mask.png
│ │ │ │ │ ├── angle-mask@2x.png
│ │ │ │ │ ├── angle-mask@3x.png
│ │ │ │ │ ├── error.png
│ │ │ │ │ ├── error@2x.png
│ │ │ │ │ ├── error@3x.png
│ │ │ │ │ ├── info.png
│ │ │ │ │ ├── info@2x.png
│ │ │ │ │ ├── info@3x.png
│ │ │ │ │ ├── success.png
│ │ │ │ │ ├── success@2x.png
│ │ │ │ │ └── success@3x.png
│ │ │ │ ├── SVProgressHUD.h
│ │ │ │ ├── SVProgressHUD.m
│ │ │ │ ├── SVRadialGradientLayer.h
│ │ │ │ └── SVRadialGradientLayer.m
│ │ │ ├── Target Support Files
│ │ │ │ ├── LinqToObjectiveC
│ │ │ │ │ ├── LinqToObjectiveC-dummy.m
│ │ │ │ │ ├── LinqToObjectiveC-prefix.pch
│ │ │ │ │ └── LinqToObjectiveC.xcconfig
│ │ │ │ ├── Pods-FlickrSearchMVVMC
│ │ │ │ │ ├── Pods-FlickrSearchMVVMC-acknowledgements.markdown
│ │ │ │ │ ├── Pods-FlickrSearchMVVMC-acknowledgements.plist
│ │ │ │ │ ├── Pods-FlickrSearchMVVMC-dummy.m
│ │ │ │ │ ├── Pods-FlickrSearchMVVMC-frameworks.sh
│ │ │ │ │ ├── Pods-FlickrSearchMVVMC-resources.sh
│ │ │ │ │ ├── Pods-FlickrSearchMVVMC.debug.xcconfig
│ │ │ │ │ └── Pods-FlickrSearchMVVMC.release.xcconfig
│ │ │ │ ├── ReactiveObjC
│ │ │ │ │ ├── ReactiveObjC-dummy.m
│ │ │ │ │ ├── ReactiveObjC-prefix.pch
│ │ │ │ │ └── ReactiveObjC.xcconfig
│ │ │ │ ├── SDWebImage
│ │ │ │ │ ├── SDWebImage-dummy.m
│ │ │ │ │ ├── SDWebImage-prefix.pch
│ │ │ │ │ └── SDWebImage.xcconfig
│ │ │ │ ├── SVProgressHUD
│ │ │ │ │ ├── SVProgressHUD-dummy.m
│ │ │ │ │ ├── SVProgressHUD-prefix.pch
│ │ │ │ │ └── SVProgressHUD.xcconfig
│ │ │ │ ├── YYModel
│ │ │ │ │ ├── YYModel-dummy.m
│ │ │ │ │ ├── YYModel-prefix.pch
│ │ │ │ │ └── YYModel.xcconfig
│ │ │ │ └── objectiveflickr
│ │ │ │ ├── objectiveflickr-dummy.m
│ │ │ │ ├── objectiveflickr-prefix.pch
│ │ │ │ └── objectiveflickr.xcconfig
│ │ │ ├── YYModel
│ │ │ │ ├── LICENSE
│ │ │ │ ├── README.md
│ │ │ │ └── YYModel
│ │ │ │ ├── NSObject YYModel.h
│ │ │ │ ├── NSObject YYModel.m
│ │ │ │ ├── YYClassInfo.h
│ │ │ │ ├── YYClassInfo.m
│ │ │ │ └── YYModel.h
│ │ │ └── objectiveflickr
│ │ │ ├── BridgeSupport
│ │ │ │ └── ObjectiveFlickr.bridgesupport
│ │ │ ├── LFWebAPIKit
│ │ │ │ ├── LFHTTPRequest.h
│ │ │ │ ├── LFHTTPRequest.m
│ │ │ │ ├── LFSiteReachability.h
│ │ │ │ ├── LFSiteReachability.m
│ │ │ │ ├── LFWebAPIKit.h
│ │ │ │ ├── NSData LFHTTPFormExtensions.h
│ │ │ │ └── NSData LFHTTPFormExtensions.m
│ │ │ ├── README.markdown
│ │ │ └── Source
│ │ │ ├── OFUtilities.h
│ │ │ ├── OFUtilities.m
│ │ │ ├── OFXMLMapper.h
│ │ │ ├── OFXMLMapper.m
│ │ │ ├── ObjectiveFlickr.h
│ │ │ └── ObjectiveFlickr.m
│ │ └── UI
│ │ ├── Simulator Screen Shot - iPhone 6 - 2018-05-08 at 21.07.06.png
│ │ └── Simulator Screen Shot - iPhone 6 - 2018-05-08 at 21.07.33.png
│ └── README.md
├── __MACOSX
│ └── MVVM-master
│ └── FlickrSearchMVVMC
│ ├── FlickrSearchMVVMC
│ │ ├── Assets.xcassets
│ │ │ ├── AppIcon.appiconset
│ │ │ ├── comment.imageset
│ │ │ ├── fave.imageset
│ │ │ └── icon_close.imageset
│ │ ├── Base.lproj
│ │ ├── Coordinator
│ │ ├── Model
│ │ ├── Tools
│ │ ├── View
│ │ ├── ViewModel
│ │ └── utils
│ ├── FlickrSearchMVVMC.xcodeproj
│ │ ├── project.xcworkspace
│ │ │ ├── xcshareddata
│ │ │ └── xcuserdata
│ │ │ └── niwanglong.xcuserdatad
│ │ └── xcuserdata
│ │ └── niwanglong.xcuserdatad
│ │ └── xcschemes
│ ├── FlickrSearchMVVMC.xcworkspace
│ │ ├── xcshareddata
│ │ └── xcuserdata
│ │ └── niwanglong.xcuserdatad
│ │ └── xcdebugger
│ ├── FlickrSearchMVVMCTests
│ ├── FlickrSearchMVVMCUITests
│ ├── Pods
│ │ ├── Headers
│ │ │ ├── Private
│ │ │ └── Public
│ │ ├── LinqToObjectiveC
│ │ ├── Pods.xcodeproj
│ │ │ └── xcuserdata
│ │ │ └── niwanglong.xcuserdatad
│ │ │ └── xcschemes
│ │ ├── ReactiveCocoa
│ │ │ └── ReactiveCocoa
│ │ │ ├── AppKit
│ │ │ ├── Shared
│ │ │ └── UIKit
│ │ │ └── iOS
│ │ ├── ReactiveObjC
│ │ │ └── ReactiveObjC
│ │ │ └── extobjc
│ │ ├── ReactiveSwift
│ │ │ └── Sources
│ │ ├── Result
│ │ │ └── Result
│ │ ├── SDWebImage
│ │ │ └── SDWebImage
│ │ ├── SVProgressHUD
│ │ │ └── SVProgressHUD
│ │ │ └── SVProgressHUD.bundle
│ │ ├── Target Support Files
│ │ │ ├── LinqToObjectiveC
│ │ │ ├── Pods-FlickrSearchMVVMC
│ │ │ ├── ReactiveObjC
│ │ │ ├── SDWebImage
│ │ │ ├── SVProgressHUD
│ │ │ ├── YYModel
│ │ │ └── objectiveflickr
│ │ ├── YYModel
│ │ │ └── YYModel
│ │ └── objectiveflickr
│ │ ├── BridgeSupport
│ │ ├── LFWebAPIKit
│ │ └── Source
│ └── UI
└── 图]iOS 开发MVVM实践Demo.zip
162 directories, 808 files
小贴士
感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。
- 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
- 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
- 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
- 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。
关于好例子网
本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明
网友评论
我要评论