diff --git a/.DS_Store b/.DS_Store index 7b47760..032ea57 100644 Binary files a/.DS_Store and b/.DS_Store differ diff --git a/BigShow1949.xcodeproj/project.pbxproj b/BigShow1949.xcodeproj/project.pbxproj index 95ccb1b..ac9dd28 100644 --- a/BigShow1949.xcodeproj/project.pbxproj +++ b/BigShow1949.xcodeproj/project.pbxproj @@ -793,11 +793,21 @@ F84A4E0E2158CEC30025D4EB /* UIImageView+WebCache.m in Sources */ = {isa = PBXBuildFile; fileRef = F84A4DFA2158CEC20025D4EB /* UIImageView+WebCache.m */; }; F84A4E0F2158CEC30025D4EB /* UIView+WebCacheOperation.m in Sources */ = {isa = PBXBuildFile; fileRef = F84A4DFD2158CEC20025D4EB /* UIView+WebCacheOperation.m */; }; F84A4E102158CEC30025D4EB /* UIButton+WebCache.m in Sources */ = {isa = PBXBuildFile; fileRef = F84A4E012158CEC20025D4EB /* UIButton+WebCache.m */; }; + F874C07121BAAA2C00ECFA59 /* YFCounterInteractor.m in Sources */ = {isa = PBXBuildFile; fileRef = F874C06821BAAA2B00ECFA59 /* YFCounterInteractor.m */; }; + F874C07221BAAA2C00ECFA59 /* YFCounterViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = F874C06B21BAAA2B00ECFA59 /* YFCounterViewController.m */; }; + F874C07321BAAA2C00ECFA59 /* YFCounterViewController.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = F874C06C21BAAA2B00ECFA59 /* YFCounterViewController.storyboard */; }; + F874C07421BAAA2C00ECFA59 /* YFCounterPresenter.m in Sources */ = {isa = PBXBuildFile; fileRef = F874C06F21BAAA2C00ECFA59 /* YFCounterPresenter.m */; }; + F874C07C21BAAA5500ECFA59 /* YFToDoViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = F874C07A21BAAA5500ECFA59 /* YFToDoViewController.m */; }; + F874C07D21BAAA5500ECFA59 /* YFToDoViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = F874C07B21BAAA5500ECFA59 /* YFToDoViewController.xib */; }; + F874C08021BAAE8400ECFA59 /* YFToDoItem.m in Sources */ = {isa = PBXBuildFile; fileRef = F874C07F21BAAE8400ECFA59 /* YFToDoItem.m */; }; + F874C08421BAAE9C00ECFA59 /* YFToDoTableViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = F874C08221BAAE9C00ECFA59 /* YFToDoTableViewCell.m */; }; + F874C08521BAAE9C00ECFA59 /* YFToDoTableViewCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = F874C08321BAAE9C00ECFA59 /* YFToDoTableViewCell.xib */; }; + F874C08821BAAEB000ECFA59 /* YFToDoRouter.m in Sources */ = {isa = PBXBuildFile; fileRef = F874C08721BAAEB000ECFA59 /* YFToDoRouter.m */; }; + F874C08B21BAAEC400ECFA59 /* YFToDoPresenter.m in Sources */ = {isa = PBXBuildFile; fileRef = F874C08A21BAAEC400ECFA59 /* YFToDoPresenter.m */; }; + F874C08E21BAAED800ECFA59 /* YFToDoInteractor.m in Sources */ = {isa = PBXBuildFile; fileRef = F874C08D21BAAED800ECFA59 /* YFToDoInteractor.m */; }; + F874C09021BAAF0100ECFA59 /* YFToDoProtocols.h in Sources */ = {isa = PBXBuildFile; fileRef = F874C08F21BAAF0100ECFA59 /* YFToDoProtocols.h */; }; + F874C09321BAC42C00ECFA59 /* YFToDoBaseViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = F874C09221BAC42C00ECFA59 /* YFToDoBaseViewController.m */; }; F8ABD46F21BA7F9E0015DAF1 /* YFVIPERViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = F8ABD46E21BA7F9E0015DAF1 /* YFVIPERViewController.m */; }; - F8ABD47A21BA7FA20015DAF1 /* YFCounterViewController.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = F8ABD47221BA7FA20015DAF1 /* YFCounterViewController.storyboard */; }; - F8ABD47B21BA7FA20015DAF1 /* YFCounterPresenter.m in Sources */ = {isa = PBXBuildFile; fileRef = F8ABD47421BA7FA20015DAF1 /* YFCounterPresenter.m */; }; - F8ABD47C21BA7FA20015DAF1 /* YFCounterViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = F8ABD47621BA7FA20015DAF1 /* YFCounterViewController.m */; }; - F8ABD47D21BA7FA20015DAF1 /* YFCounterInteractor.m in Sources */ = {isa = PBXBuildFile; fileRef = F8ABD47721BA7FA20015DAF1 /* YFCounterInteractor.m */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -2254,17 +2264,34 @@ F84A4E002158CEC20025D4EB /* UIImage+MultiFormat.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "UIImage+MultiFormat.h"; sourceTree = ""; }; F84A4E012158CEC20025D4EB /* UIButton+WebCache.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "UIButton+WebCache.m"; sourceTree = ""; }; F84A4E022158CEC20025D4EB /* UIImage+GIF.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "UIImage+GIF.h"; sourceTree = ""; }; + F874C06821BAAA2B00ECFA59 /* YFCounterInteractor.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = YFCounterInteractor.m; sourceTree = ""; }; + F874C06921BAAA2B00ECFA59 /* YFCounterInteractor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = YFCounterInteractor.h; sourceTree = ""; }; + F874C06A21BAAA2B00ECFA59 /* YFCounterInteractorIO.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = YFCounterInteractorIO.h; sourceTree = ""; }; + F874C06B21BAAA2B00ECFA59 /* YFCounterViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = YFCounterViewController.m; sourceTree = ""; }; + F874C06C21BAAA2B00ECFA59 /* YFCounterViewController.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; path = YFCounterViewController.storyboard; sourceTree = ""; }; + F874C06D21BAAA2B00ECFA59 /* YFCounterView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = YFCounterView.h; sourceTree = ""; }; + F874C06E21BAAA2B00ECFA59 /* YFCounterViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = YFCounterViewController.h; sourceTree = ""; }; + F874C06F21BAAA2C00ECFA59 /* YFCounterPresenter.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = YFCounterPresenter.m; sourceTree = ""; }; + F874C07021BAAA2C00ECFA59 /* YFCounterPresenter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = YFCounterPresenter.h; sourceTree = ""; }; + F874C07921BAAA5500ECFA59 /* YFToDoViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = YFToDoViewController.h; sourceTree = ""; }; + F874C07A21BAAA5500ECFA59 /* YFToDoViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = YFToDoViewController.m; sourceTree = ""; }; + F874C07B21BAAA5500ECFA59 /* YFToDoViewController.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = YFToDoViewController.xib; sourceTree = ""; }; + F874C07E21BAAE8400ECFA59 /* YFToDoItem.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = YFToDoItem.h; sourceTree = ""; }; + F874C07F21BAAE8400ECFA59 /* YFToDoItem.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = YFToDoItem.m; sourceTree = ""; }; + F874C08121BAAE9C00ECFA59 /* YFToDoTableViewCell.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = YFToDoTableViewCell.h; sourceTree = ""; }; + F874C08221BAAE9C00ECFA59 /* YFToDoTableViewCell.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = YFToDoTableViewCell.m; sourceTree = ""; }; + F874C08321BAAE9C00ECFA59 /* YFToDoTableViewCell.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = YFToDoTableViewCell.xib; sourceTree = ""; }; + F874C08621BAAEB000ECFA59 /* YFToDoRouter.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = YFToDoRouter.h; sourceTree = ""; }; + F874C08721BAAEB000ECFA59 /* YFToDoRouter.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = YFToDoRouter.m; sourceTree = ""; }; + F874C08921BAAEC400ECFA59 /* YFToDoPresenter.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = YFToDoPresenter.h; sourceTree = ""; }; + F874C08A21BAAEC400ECFA59 /* YFToDoPresenter.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = YFToDoPresenter.m; sourceTree = ""; }; + F874C08C21BAAED800ECFA59 /* YFToDoInteractor.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = YFToDoInteractor.h; sourceTree = ""; }; + F874C08D21BAAED800ECFA59 /* YFToDoInteractor.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = YFToDoInteractor.m; sourceTree = ""; }; + F874C08F21BAAF0100ECFA59 /* YFToDoProtocols.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = YFToDoProtocols.h; path = "/Users/bigshow/Documents/GitHub/BigShow1949/BigShow1949/Classes/10 - DesignPattern(设计模式)/Viper/ToDo/YFToDoProtocols.h"; sourceTree = ""; }; + F874C09121BAC42C00ECFA59 /* YFToDoBaseViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = YFToDoBaseViewController.h; sourceTree = ""; }; + F874C09221BAC42C00ECFA59 /* YFToDoBaseViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = YFToDoBaseViewController.m; sourceTree = ""; }; F8ABD46D21BA7F9D0015DAF1 /* YFVIPERViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = YFVIPERViewController.h; sourceTree = ""; }; F8ABD46E21BA7F9E0015DAF1 /* YFVIPERViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = YFVIPERViewController.m; sourceTree = ""; }; - F8ABD47121BA7FA20015DAF1 /* YFCounterInteractor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = YFCounterInteractor.h; sourceTree = ""; }; - F8ABD47221BA7FA20015DAF1 /* YFCounterViewController.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; path = YFCounterViewController.storyboard; sourceTree = ""; }; - F8ABD47321BA7FA20015DAF1 /* YFCounterInteractorIO.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = YFCounterInteractorIO.h; sourceTree = ""; }; - F8ABD47421BA7FA20015DAF1 /* YFCounterPresenter.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = YFCounterPresenter.m; sourceTree = ""; }; - F8ABD47521BA7FA20015DAF1 /* YFCounterView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = YFCounterView.h; sourceTree = ""; }; - F8ABD47621BA7FA20015DAF1 /* YFCounterViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = YFCounterViewController.m; sourceTree = ""; }; - F8ABD47721BA7FA20015DAF1 /* YFCounterInteractor.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = YFCounterInteractor.m; sourceTree = ""; }; - F8ABD47821BA7FA20015DAF1 /* YFCounterViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = YFCounterViewController.h; sourceTree = ""; }; - F8ABD47921BA7FA20015DAF1 /* YFCounterPresenter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = YFCounterPresenter.h; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -6075,9 +6102,34 @@ path = SDWebImage; sourceTree = ""; }; + F874C06721BAA9E600ECFA59 /* ToDo */ = { + isa = PBXGroup; + children = ( + F874C07921BAAA5500ECFA59 /* YFToDoViewController.h */, + F874C07A21BAAA5500ECFA59 /* YFToDoViewController.m */, + F874C07B21BAAA5500ECFA59 /* YFToDoViewController.xib */, + F874C08121BAAE9C00ECFA59 /* YFToDoTableViewCell.h */, + F874C08221BAAE9C00ECFA59 /* YFToDoTableViewCell.m */, + F874C08321BAAE9C00ECFA59 /* YFToDoTableViewCell.xib */, + F874C07E21BAAE8400ECFA59 /* YFToDoItem.h */, + F874C07F21BAAE8400ECFA59 /* YFToDoItem.m */, + F874C08621BAAEB000ECFA59 /* YFToDoRouter.h */, + F874C08721BAAEB000ECFA59 /* YFToDoRouter.m */, + F874C08921BAAEC400ECFA59 /* YFToDoPresenter.h */, + F874C08A21BAAEC400ECFA59 /* YFToDoPresenter.m */, + F874C08C21BAAED800ECFA59 /* YFToDoInteractor.h */, + F874C08D21BAAED800ECFA59 /* YFToDoInteractor.m */, + F874C08F21BAAF0100ECFA59 /* YFToDoProtocols.h */, + F874C09121BAC42C00ECFA59 /* YFToDoBaseViewController.h */, + F874C09221BAC42C00ECFA59 /* YFToDoBaseViewController.m */, + ); + path = ToDo; + sourceTree = ""; + }; F8ABD46C21BA7F870015DAF1 /* Viper */ = { isa = PBXGroup; children = ( + F874C06721BAA9E600ECFA59 /* ToDo */, F8ABD47021BA7FA20015DAF1 /* Counter */, F8ABD46D21BA7F9D0015DAF1 /* YFVIPERViewController.h */, F8ABD46E21BA7F9E0015DAF1 /* YFVIPERViewController.m */, @@ -6088,15 +6140,15 @@ F8ABD47021BA7FA20015DAF1 /* Counter */ = { isa = PBXGroup; children = ( - F8ABD47121BA7FA20015DAF1 /* YFCounterInteractor.h */, - F8ABD47221BA7FA20015DAF1 /* YFCounterViewController.storyboard */, - F8ABD47321BA7FA20015DAF1 /* YFCounterInteractorIO.h */, - F8ABD47421BA7FA20015DAF1 /* YFCounterPresenter.m */, - F8ABD47521BA7FA20015DAF1 /* YFCounterView.h */, - F8ABD47621BA7FA20015DAF1 /* YFCounterViewController.m */, - F8ABD47721BA7FA20015DAF1 /* YFCounterInteractor.m */, - F8ABD47821BA7FA20015DAF1 /* YFCounterViewController.h */, - F8ABD47921BA7FA20015DAF1 /* YFCounterPresenter.h */, + F874C06921BAAA2B00ECFA59 /* YFCounterInteractor.h */, + F874C06821BAAA2B00ECFA59 /* YFCounterInteractor.m */, + F874C06A21BAAA2B00ECFA59 /* YFCounterInteractorIO.h */, + F874C07021BAAA2C00ECFA59 /* YFCounterPresenter.h */, + F874C06F21BAAA2C00ECFA59 /* YFCounterPresenter.m */, + F874C06D21BAAA2B00ECFA59 /* YFCounterView.h */, + F874C06E21BAAA2B00ECFA59 /* YFCounterViewController.h */, + F874C06B21BAAA2B00ECFA59 /* YFCounterViewController.m */, + F874C06C21BAAA2B00ECFA59 /* YFCounterViewController.storyboard */, ); path = Counter; sourceTree = ""; @@ -6196,7 +6248,7 @@ 18E525A81F443EF200514693 /* AMap.bundle in Resources */, 18E524E61F443EF100514693 /* 3.jpg in Resources */, 18E523C41F443EEF00514693 /* photo_sample_07.png in Resources */, - F8ABD47A21BA7FA20015DAF1 /* YFCounterViewController.storyboard in Resources */, + F874C07321BAAA2C00ECFA59 /* YFCounterViewController.storyboard in Resources */, 18E524D11F443EF100514693 /* TabBar_Discovery_selected_new@2x.png in Resources */, 18E523B51F443EEF00514693 /* 1.plist in Resources */, 18E523C11F443EEF00514693 /* photo_sample_04.png in Resources */, @@ -6251,6 +6303,7 @@ 18E523C31F443EEF00514693 /* photo_sample_06.png in Resources */, 18E524D71F443EF100514693 /* TabBar_MyLottery_selected_new@2x.png in Resources */, 18E5249C1F443EF000514693 /* Shader.vsh in Resources */, + F874C08521BAAE9C00ECFA59 /* YFToDoTableViewCell.xib in Resources */, 18E524DB1F443EF100514693 /* 11.jpg in Resources */, 18E524B81F443EF000514693 /* CATransformViewController.storyboard in Resources */, 18E5250C1F443EF100514693 /* SecondViewController.xib in Resources */, @@ -6312,6 +6365,7 @@ 18E523B61F443EEF00514693 /* 2.plist in Resources */, 18E524781F443EF000514693 /* editButton@3x.png in Resources */, 18E524BF1F443EF000514693 /* Home.png in Resources */, + F874C07D21BAAA5500ECFA59 /* YFToDoViewController.xib in Resources */, 18E524951F443EF000514693 /* Shader.fsh in Resources */, 18E525811F443EF100514693 /* SQLiteBaseUseViewController.storyboard in Resources */, 18E5259F1F443EF200514693 /* HelpTableCell.xib in Resources */, @@ -6463,6 +6517,7 @@ 18E525921F443EF200514693 /* DemoListViewController.m in Sources */, 18E525A61F443EF200514693 /* BaseTableViewController.m in Sources */, F84A4E0C2158CEC30025D4EB /* SDWebImageDownloaderOperation.m in Sources */, + F874C09021BAAF0100ECFA59 /* YFToDoProtocols.h in Sources */, 18E525AD1F443EF200514693 /* AFHTTPSessionManager.m in Sources */, 18E523F91F443EEF00514693 /* GCDViewController.m in Sources */, 18E523B31F443EEF00514693 /* YFShopCell.m in Sources */, @@ -6566,6 +6621,7 @@ 18E5237B1F443EEF00514693 /* RQShineLabel.m in Sources */, 18E525701F443EF100514693 /* UITableView+Gzw.m in Sources */, 18E523FA1F443EEF00514693 /* YFKeepViewController.m in Sources */, + F874C07C21BAAA5500ECFA59 /* YFToDoViewController.m in Sources */, 18E525C01F443EF200514693 /* FMResultSet.m in Sources */, F83F218D216C595600DFA548 /* ArtScrollHeaderViewController.m in Sources */, 18E525711F443EF100514693 /* YFEmptyDataSetViewController.m in Sources */, @@ -6590,6 +6646,7 @@ 18E524691F443EF000514693 /* YFContextMenuViewController.m in Sources */, 18E5249D1F443EF000514693 /* YFWaterRipple2ViewController.m in Sources */, 18E523C71F443EEF00514693 /* YSLDraggableCardContainer.m in Sources */, + F874C09321BAC42C00ECFA59 /* YFToDoBaseViewController.m in Sources */, 18E524221F443EEF00514693 /* Student_MC.m in Sources */, 18E524941F443EF000514693 /* RippleView.m in Sources */, 18E5258F1F443EF200514693 /* W3CViewController.m in Sources */, @@ -6632,6 +6689,7 @@ 18E5261D1F4442F600514693 /* TwoPushViewController.m in Sources */, F84A4E0B2158CEC30025D4EB /* SDImageCache.m in Sources */, 18E5243A1F443EF000514693 /* YFQuartz2DView.m in Sources */, + F874C08E21BAAED800ECFA59 /* YFToDoInteractor.m in Sources */, 18E525651F443EF100514693 /* EcoRouterTool.m in Sources */, 18E525C81F443EF200514693 /* NSArray+MASAdditions.m in Sources */, 18E524811F443EF000514693 /* YFEmitterLeavesCell.m in Sources */, @@ -6644,6 +6702,7 @@ 18E5259E1F443EF200514693 /* HelpTableCell.swift in Sources */, 18E523FE1F443EEF00514693 /* ZWIntroductionViewController.m in Sources */, 18E524401F443EF000514693 /* UILabel+Associate.m in Sources */, + F874C07121BAAA2C00ECFA59 /* YFCounterInteractor.m in Sources */, 18E5237A1F443EEF00514693 /* YFStar.m in Sources */, 18E523E51F443EEF00514693 /* RZTransitionsManager.m in Sources */, F84A4E082158CEC30025D4EB /* UIImage+MultiFormat.m in Sources */, @@ -6784,7 +6843,6 @@ 18E523DF1F443EEF00514693 /* RZUniqueTransition.m in Sources */, 18E523EE1F443EEF00514693 /* UIImage+RZTransitionsFastImageBlur.m in Sources */, 18E526191F4442F600514693 /* ThreeViewController.m in Sources */, - F8ABD47D21BA7FA20015DAF1 /* YFCounterInteractor.m in Sources */, 18E525411F443EF100514693 /* Presenter.m in Sources */, 18E525971F443EF200514693 /* YFEightQueensVC.m in Sources */, F83F214A216BB8C400DFA548 /* MJRefreshAutoStateFooter.m in Sources */, @@ -6799,8 +6857,8 @@ 18E523EB1F443EEF00514693 /* RZZoomAlphaAnimationController.m in Sources */, 18E525BD1F443EF200514693 /* FMDatabaseAdditions.m in Sources */, F84A4DBD215804610025D4EB /* UIViewController+YNPageExtend.m in Sources */, + F874C07221BAAA2C00ECFA59 /* YFCounterViewController.m in Sources */, 18E524531F443EF000514693 /* SYComposeViewController.m in Sources */, - F8ABD47C21BA7FA20015DAF1 /* YFCounterViewController.m in Sources */, 18E524B01F443EF000514693 /* KYPushTransition.m in Sources */, 18E524721F443EF000514693 /* YFAnimationVC05.m in Sources */, 18E524101F443EEF00514693 /* Case1ViewController.m in Sources */, @@ -6813,6 +6871,7 @@ F83F2153216BB8C400DFA548 /* MJRefreshAutoFooter.m in Sources */, 18E525751F443EF100514693 /* YFImageCategoryViewController.m in Sources */, 18E525131F443EF100514693 /* YFBlurtView.m in Sources */, + F874C07421BAAA2C00ECFA59 /* YFCounterPresenter.m in Sources */, 18E523F31F443EEF00514693 /* RZSimpleColorViewController.m in Sources */, 18E524251F443EEF00514693 /* ClassC.m in Sources */, 18E523B81F443EEF00514693 /* YFWaterflowLayout.m in Sources */, @@ -6833,6 +6892,7 @@ 18E524501F443EF000514693 /* YFKnowledgeViewController.m in Sources */, 18E523AF1F443EEF00514693 /* UIColor+CatColors.m in Sources */, 18E523691F443EEF00514693 /* CloudView.m in Sources */, + F874C08821BAAEB000ECFA59 /* YFToDoRouter.m in Sources */, 18E5244E1F443EF000514693 /* YFRunTimeViewController.m in Sources */, 18E525161F443EF100514693 /* SearchResultsViewController.m in Sources */, 18E523AC1F443EEF00514693 /* WSFSlideTitlesView.m in Sources */, @@ -6860,6 +6920,7 @@ F84A4DC1215804610025D4EB /* YNPageConfigration.m in Sources */, F83F2100216BAFD400DFA548 /* BaseCollectionViewVC.m in Sources */, 18E525941F443EF200514693 /* YFNetworkRequestViewController.m in Sources */, + F874C08021BAAE8400ECFA59 /* YFToDoItem.m in Sources */, F84A4DDF2158CDD00025D4EB /* UIView+SDExtension.m in Sources */, 18E524B71F443EF000514693 /* CATransformViewController.m in Sources */, 18E5235E1F443EEF00514693 /* YFAnimationCircleButtonVC.m in Sources */, @@ -6890,6 +6951,7 @@ 18E524A81F443EF000514693 /* BounceView.m in Sources */, 18E525081F443EF100514693 /* SecondMenuData.m in Sources */, 18E523811F443EEF00514693 /* YFSphereViewController.m in Sources */, + F874C08421BAAE9C00ECFA59 /* YFToDoTableViewCell.m in Sources */, 18E5258C1F443EF200514693 /* LccButton.m in Sources */, F83F20FE216BAFD400DFA548 /* YNSuspendTopBaseTableViewVC.m in Sources */, 18E5259B1F443EF200514693 /* YFSortVC.m in Sources */, @@ -6922,7 +6984,6 @@ 18E5254C1F443EF100514693 /* YiRefreshHeader.m in Sources */, 18E5246B1F443EF000514693 /* YFRotateCircleMenuVC.m in Sources */, F84A4DE02158CDD00025D4EB /* SDCollectionViewCell.m in Sources */, - F8ABD47B21BA7FA20015DAF1 /* YFCounterPresenter.m in Sources */, 18E5255D1F443EF100514693 /* EcoBaseViewController.m in Sources */, 18E523A81F443EEF00514693 /* RGCardLayoutViewController.m in Sources */, 18E523601F443EEF00514693 /* YFBubbleMenuButtonViewController.m in Sources */, @@ -6990,6 +7051,7 @@ 18E524211F443EEF00514693 /* MultipleCategory.m in Sources */, 18E524C31F443EF000514693 /* SpinerLayer.m in Sources */, 18E525461F443EF100514693 /* DemoPresenter.m in Sources */, + F874C08B21BAAEC400ECFA59 /* YFToDoPresenter.m in Sources */, 18E525D11F443EF200514693 /* MJMethod.m in Sources */, 18E524F21F443EF100514693 /* YFCollectionViewController.m in Sources */, 18E523961F443EEF00514693 /* HWCircleLayout.m in Sources */, diff --git "a/BigShow1949/Classes/10 - DesignPattern(\350\256\276\350\256\241\346\250\241\345\274\217)/Viper/ToDo/YFToDoBaseViewController.h" "b/BigShow1949/Classes/10 - DesignPattern(\350\256\276\350\256\241\346\250\241\345\274\217)/Viper/ToDo/YFToDoBaseViewController.h" new file mode 100644 index 0000000..6ab0f7f --- /dev/null +++ "b/BigShow1949/Classes/10 - DesignPattern(\350\256\276\350\256\241\346\250\241\345\274\217)/Viper/ToDo/YFToDoBaseViewController.h" @@ -0,0 +1,13 @@ +// +// YFToDoBaseViewController.h +// BigShow1949 +// +// Created by big show on 2018/12/7. +// Copyright © 2018年 BigShowCompany. All rights reserved. +// + +#import + +@interface YFToDoBaseViewController : UIViewController + +@end diff --git "a/BigShow1949/Classes/10 - DesignPattern(\350\256\276\350\256\241\346\250\241\345\274\217)/Viper/ToDo/YFToDoBaseViewController.m" "b/BigShow1949/Classes/10 - DesignPattern(\350\256\276\350\256\241\346\250\241\345\274\217)/Viper/ToDo/YFToDoBaseViewController.m" new file mode 100644 index 0000000..588bb3c --- /dev/null +++ "b/BigShow1949/Classes/10 - DesignPattern(\350\256\276\350\256\241\346\250\241\345\274\217)/Viper/ToDo/YFToDoBaseViewController.m" @@ -0,0 +1,47 @@ +// +// YFToDoBaseViewController.m +// BigShow1949 +// +// Created by big show on 2018/12/7. +// Copyright © 2018年 BigShowCompany. All rights reserved. +// + +#import "YFToDoBaseViewController.h" +#import "YFToDoRouter.h" +#import "YFToDoViewController.h" + +@interface YFToDoBaseViewController () + +@end + +@implementation YFToDoBaseViewController + +- (void)viewDidLoad { + [super viewDidLoad]; + + self.view.backgroundColor = [UIColor whiteColor]; + + UIButton *redBtn = [[UIButton alloc] initWithFrame:CGRectMake(100, 100, 80, 44)]; + [redBtn setTitle:@"Button" forState:UIControlStateNormal]; + [redBtn addTarget:self action:@selector(buttonClick) forControlEvents:UIControlEventTouchUpInside]; + redBtn.titleLabel.textColor = [UIColor blackColor]; + redBtn.backgroundColor = [UIColor blueColor]; + [self.view addSubview:redBtn]; +} + +- (void)buttonClick { + YFToDoViewController *vc = [YFToDoRouter createModule]; + [self.navigationController pushViewController:vc animated:YES]; +} + +/* +#pragma mark - Navigation + +// In a storyboard-based application, you will often want to do a little preparation before navigation +- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender { + // Get the new view controller using [segue destinationViewController]. + // Pass the selected object to the new view controller. +} +*/ + +@end diff --git "a/BigShow1949/Classes/10 - DesignPattern(\350\256\276\350\256\241\346\250\241\345\274\217)/Viper/ToDo/YFToDoInteractor.h" "b/BigShow1949/Classes/10 - DesignPattern(\350\256\276\350\256\241\346\250\241\345\274\217)/Viper/ToDo/YFToDoInteractor.h" new file mode 100644 index 0000000..60f42e0 --- /dev/null +++ "b/BigShow1949/Classes/10 - DesignPattern(\350\256\276\350\256\241\346\250\241\345\274\217)/Viper/ToDo/YFToDoInteractor.h" @@ -0,0 +1,16 @@ +// +// YFToDoInteractor.h +// BigShow1949 +// +// Created by big show on 2018/12/7. +// Copyright © 2018年 BigShowCompany. All rights reserved. +// + +#import +#import "YFToDoProtocols.h" +NS_ASSUME_NONNULL_BEGIN +@interface YFToDoInteractor : NSObject +@property (nonatomic, weak, nullable) id output; + +@end +NS_ASSUME_NONNULL_END diff --git "a/BigShow1949/Classes/10 - DesignPattern(\350\256\276\350\256\241\346\250\241\345\274\217)/Viper/ToDo/YFToDoInteractor.m" "b/BigShow1949/Classes/10 - DesignPattern(\350\256\276\350\256\241\346\250\241\345\274\217)/Viper/ToDo/YFToDoInteractor.m" new file mode 100644 index 0000000..6b8ee08 --- /dev/null +++ "b/BigShow1949/Classes/10 - DesignPattern(\350\256\276\350\256\241\346\250\241\345\274\217)/Viper/ToDo/YFToDoInteractor.m" @@ -0,0 +1,29 @@ +// +// YFToDoInteractor.m +// BigShow1949 +// +// Created by big show on 2018/12/7. +// Copyright © 2018年 BigShowCompany. All rights reserved. +// + +#import "YFToDoInteractor.h" +#import "YFToDoItem.h" + +@implementation YFToDoInteractor +#pragma mark - InteractorProtocol + +- (void)setOutput:(id)output +{ + _output = output; +} + +- (id)getOutputProtocol +{ + return self.output; +} + +- (void)addToDoItem:(YFToDoItem *)item +{ + [self.output sendAddedItem:item]; +} +@end diff --git "a/BigShow1949/Classes/10 - DesignPattern(\350\256\276\350\256\241\346\250\241\345\274\217)/Viper/ToDo/YFToDoItem.h" "b/BigShow1949/Classes/10 - DesignPattern(\350\256\276\350\256\241\346\250\241\345\274\217)/Viper/ToDo/YFToDoItem.h" new file mode 100644 index 0000000..60bb3aa --- /dev/null +++ "b/BigShow1949/Classes/10 - DesignPattern(\350\256\276\350\256\241\346\250\241\345\274\217)/Viper/ToDo/YFToDoItem.h" @@ -0,0 +1,13 @@ +// +// YFToDoItem.h +// BigShow1949 +// +// Created by big show on 2018/12/7. +// Copyright © 2018年 BigShowCompany. All rights reserved. +// + +#import + +@interface YFToDoItem : NSObject +@property (nonatomic) NSString *text; +@end diff --git "a/BigShow1949/Classes/10 - DesignPattern(\350\256\276\350\256\241\346\250\241\345\274\217)/Viper/ToDo/YFToDoItem.m" "b/BigShow1949/Classes/10 - DesignPattern(\350\256\276\350\256\241\346\250\241\345\274\217)/Viper/ToDo/YFToDoItem.m" new file mode 100644 index 0000000..449c158 --- /dev/null +++ "b/BigShow1949/Classes/10 - DesignPattern(\350\256\276\350\256\241\346\250\241\345\274\217)/Viper/ToDo/YFToDoItem.m" @@ -0,0 +1,13 @@ +// +// YFToDoItem.m +// BigShow1949 +// +// Created by big show on 2018/12/7. +// Copyright © 2018年 BigShowCompany. All rights reserved. +// + +#import "YFToDoItem.h" + +@implementation YFToDoItem + +@end diff --git "a/BigShow1949/Classes/10 - DesignPattern(\350\256\276\350\256\241\346\250\241\345\274\217)/Viper/ToDo/YFToDoPresenter.h" "b/BigShow1949/Classes/10 - DesignPattern(\350\256\276\350\256\241\346\250\241\345\274\217)/Viper/ToDo/YFToDoPresenter.h" new file mode 100644 index 0000000..af697e1 --- /dev/null +++ "b/BigShow1949/Classes/10 - DesignPattern(\350\256\276\350\256\241\346\250\241\345\274\217)/Viper/ToDo/YFToDoPresenter.h" @@ -0,0 +1,24 @@ +// +// YFToDoPresenter.h +// BigShow1949 +// +// Created by big show on 2018/12/7. +// Copyright © 2018年 BigShowCompany. All rights reserved. +// + +#import +#import "YFToDoProtocols.h" +#import "YFToDoItem.h" + +NS_ASSUME_NONNULL_BEGIN +@interface YFToDoPresenter : NSObject +@property (nonatomic, weak, nullable) id view; +@property (nonatomic) id interactor; +@property (nonatomic, weak) id router; + +- (instancetype)initWithInterface:(id)interface + interactor:(id)interactor + router:(id)router; +- (void)addToDoItem:(YFToDoItem *)item; +@end +NS_ASSUME_NONNULL_END diff --git "a/BigShow1949/Classes/10 - DesignPattern(\350\256\276\350\256\241\346\250\241\345\274\217)/Viper/ToDo/YFToDoPresenter.m" "b/BigShow1949/Classes/10 - DesignPattern(\350\256\276\350\256\241\346\250\241\345\274\217)/Viper/ToDo/YFToDoPresenter.m" new file mode 100644 index 0000000..8c1b0b4 --- /dev/null +++ "b/BigShow1949/Classes/10 - DesignPattern(\350\256\276\350\256\241\346\250\241\345\274\217)/Viper/ToDo/YFToDoPresenter.m" @@ -0,0 +1,39 @@ +// +// YFToDoPresenter.m +// BigShow1949 +// +// Created by big show on 2018/12/7. +// Copyright © 2018年 BigShowCompany. All rights reserved. +// + +#import "YFToDoPresenter.h" + +@implementation YFToDoPresenter +- (instancetype)initWithInterface:(id)interface + interactor:(id)interactor + router:(id)router +{ + if (self = [super init]) + { + self.view = interface; + self.interactor = interactor; + self.router = router; + [self.interactor setOutput:self]; + } + return self; +} + +- (void)addToDoItem:(YFToDoItem *)item +{ + [self.interactor addToDoItem:item]; +} + + +#pragma mark - ToDoInteractorOutputProtocol + +- (void)sendAddedItem:(YFToDoItem *)item +{ + [self.view showAddedItem:item]; +} + +@end diff --git "a/BigShow1949/Classes/10 - DesignPattern(\350\256\276\350\256\241\346\250\241\345\274\217)/Viper/ToDo/YFToDoProtocols.h" "b/BigShow1949/Classes/10 - DesignPattern(\350\256\276\350\256\241\346\250\241\345\274\217)/Viper/ToDo/YFToDoProtocols.h" new file mode 100644 index 0000000..cb8de4d --- /dev/null +++ "b/BigShow1949/Classes/10 - DesignPattern(\350\256\276\350\256\241\346\250\241\345\274\217)/Viper/ToDo/YFToDoProtocols.h" @@ -0,0 +1,47 @@ +// +// YFToDoProtocols.m +// +// +// Created by big show on 2018/12/7. +// + +#import +#import +#import "YFToDoItem.h" + +#pragma mark - WireFrameProtocol + +@protocol ToDoWireframeProtocol + +@end + +#pragma mark - PresenterProtocol + +@protocol ToDoPresenterProtocol + +@end + +#pragma mark - InteractorProtocol + +@protocol ToDoInteractorOutputProtocol + +- (void)sendAddedItem:(YFToDoItem *)item; + +@end + +@protocol ToDoInteractorInputProtocol + +- (void)setOutput:(id)output; +- (id)getOutputProtocol; + +- (void)addToDoItem:(YFToDoItem *)item; + +@end + +#pragma mark - ViewProtocol + +@protocol ToDoViewProtocol + +- (void)showAddedItem:(YFToDoItem *)item; + +@end diff --git "a/BigShow1949/Classes/10 - DesignPattern(\350\256\276\350\256\241\346\250\241\345\274\217)/Viper/ToDo/YFToDoRouter.h" "b/BigShow1949/Classes/10 - DesignPattern(\350\256\276\350\256\241\346\250\241\345\274\217)/Viper/ToDo/YFToDoRouter.h" new file mode 100644 index 0000000..56d5f76 --- /dev/null +++ "b/BigShow1949/Classes/10 - DesignPattern(\350\256\276\350\256\241\346\250\241\345\274\217)/Viper/ToDo/YFToDoRouter.h" @@ -0,0 +1,17 @@ +// +// YFToDoRouter.h +// BigShow1949 +// +// Created by big show on 2018/12/7. +// Copyright © 2018年 BigShowCompany. All rights reserved. +// + +#import +#import "YFToDoProtocols.h" +#import "YFToDoViewController.h" +@interface YFToDoRouter : NSObject +@property (nonatomic, weak) YFToDoViewController *viewController; + ++ (YFToDoViewController *)createModule; + +@end diff --git "a/BigShow1949/Classes/10 - DesignPattern(\350\256\276\350\256\241\346\250\241\345\274\217)/Viper/ToDo/YFToDoRouter.m" "b/BigShow1949/Classes/10 - DesignPattern(\350\256\276\350\256\241\346\250\241\345\274\217)/Viper/ToDo/YFToDoRouter.m" new file mode 100644 index 0000000..d4a680a --- /dev/null +++ "b/BigShow1949/Classes/10 - DesignPattern(\350\256\276\350\256\241\346\250\241\345\274\217)/Viper/ToDo/YFToDoRouter.m" @@ -0,0 +1,26 @@ +// +// YFToDoRouter.m +// BigShow1949 +// +// Created by big show on 2018/12/7. +// Copyright © 2018年 BigShowCompany. All rights reserved. +// + +#import "YFToDoRouter.h" +#import "YFToDoViewController.h" +#import "YFToDoInteractor.h" +#import "YFToDoPresenter.h" + +@implementation YFToDoRouter ++ (YFToDoViewController *)createModule +{ + NSString *viewName = NSStringFromClass([YFToDoViewController class]); + YFToDoViewController *viewController = [[YFToDoViewController alloc] initWithNibName:viewName bundle:nil]; + YFToDoInteractor *interactor = [[YFToDoInteractor alloc] init]; + YFToDoRouter *router = [[YFToDoRouter alloc] init]; + YFToDoPresenter *presenter = [[YFToDoPresenter alloc] initWithInterface:viewController interactor:interactor router:router]; + viewController.presenter = presenter; + router.viewController = viewController; + return viewController; +} +@end diff --git "a/BigShow1949/Classes/10 - DesignPattern(\350\256\276\350\256\241\346\250\241\345\274\217)/Viper/ToDo/YFToDoTableViewCell.h" "b/BigShow1949/Classes/10 - DesignPattern(\350\256\276\350\256\241\346\250\241\345\274\217)/Viper/ToDo/YFToDoTableViewCell.h" new file mode 100644 index 0000000..f454eaf --- /dev/null +++ "b/BigShow1949/Classes/10 - DesignPattern(\350\256\276\350\256\241\346\250\241\345\274\217)/Viper/ToDo/YFToDoTableViewCell.h" @@ -0,0 +1,14 @@ +// +// YFToDoTableViewCell.h +// BigShow1949 +// +// Created by big show on 2018/12/7. +// Copyright © 2018年 BigShowCompany. All rights reserved. +// + +#import + +@interface YFToDoTableViewCell : UITableViewCell +@property (weak, nonatomic) IBOutlet UILabel *titleLabel; + +@end diff --git "a/BigShow1949/Classes/10 - DesignPattern(\350\256\276\350\256\241\346\250\241\345\274\217)/Viper/ToDo/YFToDoTableViewCell.m" "b/BigShow1949/Classes/10 - DesignPattern(\350\256\276\350\256\241\346\250\241\345\274\217)/Viper/ToDo/YFToDoTableViewCell.m" new file mode 100644 index 0000000..64ceaf1 --- /dev/null +++ "b/BigShow1949/Classes/10 - DesignPattern(\350\256\276\350\256\241\346\250\241\345\274\217)/Viper/ToDo/YFToDoTableViewCell.m" @@ -0,0 +1,24 @@ +// +// YFToDoTableViewCell.m +// BigShow1949 +// +// Created by big show on 2018/12/7. +// Copyright © 2018年 BigShowCompany. All rights reserved. +// + +#import "YFToDoTableViewCell.h" + +@implementation YFToDoTableViewCell + +- (void)awakeFromNib { + [super awakeFromNib]; + // Initialization code +} + +- (void)setSelected:(BOOL)selected animated:(BOOL)animated { + [super setSelected:selected animated:animated]; + + // Configure the view for the selected state +} + +@end diff --git "a/BigShow1949/Classes/10 - DesignPattern(\350\256\276\350\256\241\346\250\241\345\274\217)/Viper/ToDo/YFToDoTableViewCell.xib" "b/BigShow1949/Classes/10 - DesignPattern(\350\256\276\350\256\241\346\250\241\345\274\217)/Viper/ToDo/YFToDoTableViewCell.xib" new file mode 100644 index 0000000..d7f10f3 --- /dev/null +++ "b/BigShow1949/Classes/10 - DesignPattern(\350\256\276\350\256\241\346\250\241\345\274\217)/Viper/ToDo/YFToDoTableViewCell.xib" @@ -0,0 +1,41 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git "a/BigShow1949/Classes/10 - DesignPattern(\350\256\276\350\256\241\346\250\241\345\274\217)/Viper/ToDo/YFToDoViewController.h" "b/BigShow1949/Classes/10 - DesignPattern(\350\256\276\350\256\241\346\250\241\345\274\217)/Viper/ToDo/YFToDoViewController.h" new file mode 100644 index 0000000..285edce --- /dev/null +++ "b/BigShow1949/Classes/10 - DesignPattern(\350\256\276\350\256\241\346\250\241\345\274\217)/Viper/ToDo/YFToDoViewController.h" @@ -0,0 +1,16 @@ +// +// YFToDoViewController.h +// BigShow1949 +// +// Created by big show on 2018/12/7. +// Copyright © 2018年 BigShowCompany. All rights reserved. +// + +#import +#import "YFToDoPresenter.h" +#import "YFToDoProtocols.h" + +@interface YFToDoViewController : UIViewController +@property (weak, nonatomic) IBOutlet UITableView *tableView; +@property (nonatomic, nullable) YFToDoPresenter *presenter; +@end diff --git "a/BigShow1949/Classes/10 - DesignPattern(\350\256\276\350\256\241\346\250\241\345\274\217)/Viper/ToDo/YFToDoViewController.m" "b/BigShow1949/Classes/10 - DesignPattern(\350\256\276\350\256\241\346\250\241\345\274\217)/Viper/ToDo/YFToDoViewController.m" new file mode 100644 index 0000000..2dbff3d --- /dev/null +++ "b/BigShow1949/Classes/10 - DesignPattern(\350\256\276\350\256\241\346\250\241\345\274\217)/Viper/ToDo/YFToDoViewController.m" @@ -0,0 +1,71 @@ +// +// YFToDoViewController.m +// BigShow1949 +// +// Created by big show on 2018/12/7. +// Copyright © 2018年 BigShowCompany. All rights reserved. +// + +#import "YFToDoViewController.h" +#import "YFToDoItem.h" + +@interface YFToDoViewController () +@property (nonatomic) NSMutableArray *todoList; + +@end + +@implementation YFToDoViewController + +- (void)viewDidLoad { + [super viewDidLoad]; + [self setupNav]; +} + +- (void)setupNav { + UIBarButtonItem *addTodoItem = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemAdd target:self action:@selector(add)]; + self.navigationItem.rightBarButtonItem = addTodoItem; +} + + +- (void)add { + YFToDoItem *item = [[YFToDoItem alloc] init]; + item.text = @"2018"; + [self.presenter addToDoItem:item]; +} + +#pragma mark - ToDoViewProtocol +- (void)showAddedItem:(YFToDoItem *)item { + [self.todoList addObject:item]; + [self.tableView reloadData]; +} + +#pragma mark - UITableView DataSource + +- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section +{ + return self.todoList.count; +} + +- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath +{ + UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"YFToDoTableViewCell"]; + if (cell == nil) + { + NSArray *topLevelObjects = [[NSBundle mainBundle] loadNibNamed:@"YFToDoTableViewCell" owner:self options:nil]; + cell = [topLevelObjects objectAtIndex:0]; + } + YFToDoItem *item = self.todoList[indexPath.row]; + cell.textLabel.text = item.text; + return cell; +} + +- (NSMutableArray *)todoList { + if (!_todoList) { + YFToDoItem *item = [[YFToDoItem alloc] init]; + item.text = @"TEST"; + _todoList = [NSMutableArray arrayWithObject:item]; + } + return _todoList; +} + +@end diff --git "a/BigShow1949/Classes/10 - DesignPattern(\350\256\276\350\256\241\346\250\241\345\274\217)/Viper/ToDo/YFToDoViewController.xib" "b/BigShow1949/Classes/10 - DesignPattern(\350\256\276\350\256\241\346\250\241\345\274\217)/Viper/ToDo/YFToDoViewController.xib" new file mode 100644 index 0000000..e76dabc --- /dev/null +++ "b/BigShow1949/Classes/10 - DesignPattern(\350\256\276\350\256\241\346\250\241\345\274\217)/Viper/ToDo/YFToDoViewController.xib" @@ -0,0 +1,42 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git "a/BigShow1949/Classes/10 - DesignPattern(\350\256\276\350\256\241\346\250\241\345\274\217)/Viper/YFVIPERViewController.m" "b/BigShow1949/Classes/10 - DesignPattern(\350\256\276\350\256\241\346\250\241\345\274\217)/Viper/YFVIPERViewController.m" index 3206b06..273613c 100644 --- "a/BigShow1949/Classes/10 - DesignPattern(\350\256\276\350\256\241\346\250\241\345\274\217)/Viper/YFVIPERViewController.m" +++ "b/BigShow1949/Classes/10 - DesignPattern(\350\256\276\350\256\241\346\250\241\345\274\217)/Viper/YFVIPERViewController.m" @@ -16,7 +16,8 @@ @implementation YFVIPERViewController - (void)viewDidLoad { [super viewDidLoad]; - [self setupDataArr:@[@[@"Counter计数器",@"YFCounterViewController_UIStoryboard"]]]; + [self setupDataArr:@[@[@"Counter计数器",@"YFCounterViewController_UIStoryboard"], + @[@"ToDo",@"YFToDoBaseViewController"],]]; // @[@"Login",@"YFNoteListViperViewController"] }