diff --git a/BaseMVC.xcodeproj/project.pbxproj b/BaseMVC.xcodeproj/project.pbxproj index b403173..38da24c 100644 --- a/BaseMVC.xcodeproj/project.pbxproj +++ b/BaseMVC.xcodeproj/project.pbxproj @@ -25,8 +25,6 @@ 8234BE781EF9887D009A5DE5 /* LocalizableString.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8234BE391EF9887D009A5DE5 /* LocalizableString.swift */; }; 8234BE791EF9887D009A5DE5 /* StructDefine.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8234BE3A1EF9887D009A5DE5 /* StructDefine.swift */; }; 8234BE7A1EF9887D009A5DE5 /* ViewDefine.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8234BE3B1EF9887D009A5DE5 /* ViewDefine.swift */; }; - 8234BE7B1EF9887D009A5DE5 /* TransitionManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8234BE3E1EF9887D009A5DE5 /* TransitionManager.swift */; }; - 8234BE7C1EF9887D009A5DE5 /* RealmManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8234BE3F1EF9887D009A5DE5 /* RealmManager.swift */; }; 8234BE7E1EF9887D009A5DE5 /* RStore.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8234BE421EF9887D009A5DE5 /* RStore.swift */; }; 8234BE7F1EF9887D009A5DE5 /* RUser.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8234BE431EF9887D009A5DE5 /* RUser.swift */; }; 8234BE801EF9887D009A5DE5 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 8234BE451EF9887D009A5DE5 /* Assets.xcassets */; }; @@ -41,7 +39,10 @@ 8257786D1EFACAA60057DACB /* LoginViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8257786C1EFACAA60057DACB /* LoginViewController.swift */; }; 825778701EFACC5C0057DACB /* Timeline.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 8257786F1EFACC5C0057DACB /* Timeline.storyboard */; }; 825778721EFACC760057DACB /* Message.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 825778711EFACC760057DACB /* Message.storyboard */; }; - 825778741EFACF670057DACB /* LocationManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 825778731EFACF670057DACB /* LocationManager.swift */; }; + 82B455C31EFE5F2C0099161D /* UserDao.swift in Sources */ = {isa = PBXBuildFile; fileRef = 82B455C21EFE5F2C0099161D /* UserDao.swift */; }; + 82E4AD721EFFE0790027261D /* LocationManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 82E4AD6F1EFFE0790027261D /* LocationManager.swift */; }; + 82E4AD731EFFE0790027261D /* RealmManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 82E4AD701EFFE0790027261D /* RealmManager.swift */; }; + 82E4AD741EFFE0790027261D /* TransitionManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 82E4AD711EFFE0790027261D /* TransitionManager.swift */; }; /* End PBXBuildFile section */ /* Begin PBXFileReference section */ @@ -67,8 +68,6 @@ 8234BE391EF9887D009A5DE5 /* LocalizableString.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = LocalizableString.swift; sourceTree = ""; }; 8234BE3A1EF9887D009A5DE5 /* StructDefine.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = StructDefine.swift; sourceTree = ""; }; 8234BE3B1EF9887D009A5DE5 /* ViewDefine.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ViewDefine.swift; sourceTree = ""; }; - 8234BE3E1EF9887D009A5DE5 /* TransitionManager.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TransitionManager.swift; sourceTree = ""; }; - 8234BE3F1EF9887D009A5DE5 /* RealmManager.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = RealmManager.swift; sourceTree = ""; }; 8234BE421EF9887D009A5DE5 /* RStore.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = RStore.swift; sourceTree = ""; }; 8234BE431EF9887D009A5DE5 /* RUser.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = RUser.swift; sourceTree = ""; }; 8234BE451EF9887D009A5DE5 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; @@ -84,7 +83,10 @@ 8257786C1EFACAA60057DACB /* LoginViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = LoginViewController.swift; sourceTree = ""; }; 8257786F1EFACC5C0057DACB /* Timeline.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; path = Timeline.storyboard; sourceTree = ""; }; 825778711EFACC760057DACB /* Message.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; path = Message.storyboard; sourceTree = ""; }; - 825778731EFACF670057DACB /* LocationManager.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = LocationManager.swift; sourceTree = ""; }; + 82B455C21EFE5F2C0099161D /* UserDao.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = UserDao.swift; sourceTree = ""; }; + 82E4AD6F1EFFE0790027261D /* LocationManager.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = LocationManager.swift; sourceTree = ""; }; + 82E4AD701EFFE0790027261D /* RealmManager.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = RealmManager.swift; sourceTree = ""; }; + 82E4AD711EFFE0790027261D /* TransitionManager.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TransitionManager.swift; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -143,9 +145,10 @@ 8234BE331EF9887D009A5DE5 /* Helpers */, 8234BE2C1EF9887D009A5DE5 /* Extensions */, 8234BE3C1EF9887D009A5DE5 /* Libraries */, - 8234BE3D1EF9887D009A5DE5 /* Manager */, - 8234BE401EF9887D009A5DE5 /* Models */, + 82E4AD6E1EFFE0790027261D /* Managers */, 8234BE491EF9887D009A5DE5 /* Services */, + 82B455C11EFE5F100099161D /* Dao */, + 8234BE401EF9887D009A5DE5 /* Models */, 8234BE4D1EF9887D009A5DE5 /* Views */, 8234BE241EF9887D009A5DE5 /* Controllers */, ); @@ -196,16 +199,6 @@ path = Libraries; sourceTree = ""; }; - 8234BE3D1EF9887D009A5DE5 /* Manager */ = { - isa = PBXGroup; - children = ( - 8234BE3E1EF9887D009A5DE5 /* TransitionManager.swift */, - 8234BE3F1EF9887D009A5DE5 /* RealmManager.swift */, - 825778731EFACF670057DACB /* LocationManager.swift */, - ); - path = Manager; - sourceTree = ""; - }; 8234BE401EF9887D009A5DE5 /* Models */ = { isa = PBXGroup; children = ( @@ -229,8 +222,8 @@ isa = PBXGroup; children = ( 8234BE4A1EF9887D009A5DE5 /* ApiClient.swift */, - 8234BE4B1EF9887D009A5DE5 /* AppRouter.swift */, 8234BE4C1EF9887D009A5DE5 /* OAuthHandler.swift */, + 8234BE4B1EF9887D009A5DE5 /* AppRouter.swift */, ); path = Services; sourceTree = ""; @@ -263,6 +256,24 @@ name = User; sourceTree = ""; }; + 82B455C11EFE5F100099161D /* Dao */ = { + isa = PBXGroup; + children = ( + 82B455C21EFE5F2C0099161D /* UserDao.swift */, + ); + path = Dao; + sourceTree = ""; + }; + 82E4AD6E1EFFE0790027261D /* Managers */ = { + isa = PBXGroup; + children = ( + 82E4AD6F1EFFE0790027261D /* LocationManager.swift */, + 82E4AD701EFFE0790027261D /* RealmManager.swift */, + 82E4AD711EFFE0790027261D /* TransitionManager.swift */, + ); + path = Managers; + sourceTree = ""; + }; 82F485B01EF98C81008D82A9 /* Main */ = { isa = PBXGroup; children = ( @@ -426,6 +437,7 @@ 8234BE6B1EF9887D009A5DE5 /* StartViewController.swift in Sources */, 8234BE731EF9887D009A5DE5 /* Config.swift in Sources */, 8234BE7F1EF9887D009A5DE5 /* RUser.swift in Sources */, + 82B455C31EFE5F2C0099161D /* UserDao.swift in Sources */, 8234BE791EF9887D009A5DE5 /* StructDefine.swift in Sources */, 8234BE781EF9887D009A5DE5 /* LocalizableString.swift in Sources */, 8234BE821EF9887D009A5DE5 /* ApiClient.swift in Sources */, @@ -434,22 +446,22 @@ 8234BE751EF9887D009A5DE5 /* EnumDefine.swift in Sources */, 8234BE771EF9887D009A5DE5 /* Keys.swift in Sources */, 8234BE6D1EF9887D009A5DE5 /* Color+Ext.swift in Sources */, + 82E4AD721EFFE0790027261D /* LocationManager.swift in Sources */, 8234BE651EF9887D009A5DE5 /* AppDelegate.swift in Sources */, + 82E4AD731EFFE0790027261D /* RealmManager.swift in Sources */, 8234BE841EF9887D009A5DE5 /* OAuthHandler.swift in Sources */, + 82E4AD741EFFE0790027261D /* TransitionManager.swift in Sources */, 8234BE741EF9887D009A5DE5 /* Constants.swift in Sources */, 8234BE661EF9887D009A5DE5 /* BaseViewController.swift in Sources */, 8234BE7E1EF9887D009A5DE5 /* RStore.swift in Sources */, - 8234BE7C1EF9887D009A5DE5 /* RealmManager.swift in Sources */, 825778691EFAC78C0057DACB /* MainTabBarController.swift in Sources */, 8234BE711EF9887D009A5DE5 /* UIView+Ext.swift in Sources */, 8234BE701EF9887D009A5DE5 /* UITableView+Ext.swift in Sources */, 8234BE6E1EF9887D009A5DE5 /* Date+Ext.swift in Sources */, 8234BE6F1EF9887D009A5DE5 /* String+Ext.swift in Sources */, - 8234BE7B1EF9887D009A5DE5 /* TransitionManager.swift in Sources */, 8234BE831EF9887D009A5DE5 /* AppRouter.swift in Sources */, 8257786D1EFACAA60057DACB /* LoginViewController.swift in Sources */, 8234BE7A1EF9887D009A5DE5 /* ViewDefine.swift in Sources */, - 825778741EFACF670057DACB /* LocationManager.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; diff --git a/BaseMVC/Sources/Controllers/LoginViewController.swift b/BaseMVC/Sources/Controllers/LoginViewController.swift index 0b89089..0c1f8f5 100644 --- a/BaseMVC/Sources/Controllers/LoginViewController.swift +++ b/BaseMVC/Sources/Controllers/LoginViewController.swift @@ -17,6 +17,7 @@ class LoginViewController: BaseViewController { // MARK: - View Lifecycle override func viewDidLoad() { super.viewDidLoad() + self.addBtnRightNavWithTitle(title: "Setting") } override func viewWillAppear(_ animated: Bool) { @@ -52,6 +53,20 @@ class LoginViewController: BaseViewController { self.dismiss(animated: true, completion: nil) } + override func actionTouchBtnRight() { + let userSettingVC = LoginViewController.getViewControllerFromStoryboard(Storyboard.User.name) + let navigationVC = UINavigationController(rootViewController: userSettingVC) + + // create animator for present + // let animator = Animator(presentedType: .push, dismissedType: .push) + // self.menuViewController?.animator = animator + // + // navigationVC.transitioningDelegate = self.menuViewController + + // present + self.present(navigationVC, animated: true, completion: nil) + } + // MARK: - Functions } diff --git a/BaseMVC/Sources/Controllers/StartViewController.swift b/BaseMVC/Sources/Controllers/StartViewController.swift index 226ec7f..83112c2 100644 --- a/BaseMVC/Sources/Controllers/StartViewController.swift +++ b/BaseMVC/Sources/Controllers/StartViewController.swift @@ -4,8 +4,6 @@ class StartViewController: BaseViewController { // MARK: - IBOutlet - @IBOutlet weak var tableView: UITableView! - // MARK: - Varialbes // MARK: - View Lifecycle diff --git a/BaseMVC/Sources/Dao/UserDao.swift b/BaseMVC/Sources/Dao/UserDao.swift new file mode 100644 index 0000000..b7c019b --- /dev/null +++ b/BaseMVC/Sources/Dao/UserDao.swift @@ -0,0 +1,13 @@ +// +// UserDao.swift +// Project +// +// Created by Henry Tran on 6/24/17. +// Copyright © 2017 THL. All rights reserved. +// + +import RealmSwift + +struct UserDao { + +} diff --git a/BaseMVC/Sources/Helpers/Config.swift b/BaseMVC/Sources/Helpers/Config.swift index dd9117b..1d59a8b 100644 --- a/BaseMVC/Sources/Helpers/Config.swift +++ b/BaseMVC/Sources/Helpers/Config.swift @@ -1,6 +1,8 @@ -let baseUrl = "https://dev.mvc.vn" -let clientId = "MVC" -let clientSecrect = "secret" -let dataVersion = 1 -let appId = "12345678" -let platform = "iOS" +struct Config { + static let baseUrl = "https://dev.mvc.vn" + static let clientId = "MVC" + static let clientSecrect = "secret" + static let dataVersion = 1 + static let appId = "12345678" + static let platform = "iOS" +} diff --git a/BaseMVC/Sources/Manager/LocationManager.swift b/BaseMVC/Sources/Managers/LocationManager.swift similarity index 100% rename from BaseMVC/Sources/Manager/LocationManager.swift rename to BaseMVC/Sources/Managers/LocationManager.swift diff --git a/BaseMVC/Sources/Manager/RealmManager.swift b/BaseMVC/Sources/Managers/RealmManager.swift similarity index 90% rename from BaseMVC/Sources/Manager/RealmManager.swift rename to BaseMVC/Sources/Managers/RealmManager.swift index 7e1d1cc..e9c44c6 100644 --- a/BaseMVC/Sources/Manager/RealmManager.swift +++ b/BaseMVC/Sources/Managers/RealmManager.swift @@ -7,7 +7,7 @@ struct RealmManager { logD("\(String(describing: fileURL))") // get schema version - let schemaVersion = UInt64(dataVersion) + let schemaVersion = UInt64(Config.dataVersion) // create config let config = Realm.Configuration( diff --git a/BaseMVC/Sources/Manager/TransitionManager.swift b/BaseMVC/Sources/Managers/TransitionManager.swift similarity index 99% rename from BaseMVC/Sources/Manager/TransitionManager.swift rename to BaseMVC/Sources/Managers/TransitionManager.swift index d18a4c0..f98d74d 100644 --- a/BaseMVC/Sources/Manager/TransitionManager.swift +++ b/BaseMVC/Sources/Managers/TransitionManager.swift @@ -29,6 +29,7 @@ class TransitionManager: NSObject, UIViewControllerAnimatedTransitioning { } func animateTransition(using transitionContext: UIViewControllerContextTransitioning) { + switch animateType { case .rightToLeft: self.pushAnimation(transitionContext) diff --git a/BaseMVC/Sources/Services/ApiClient.swift b/BaseMVC/Sources/Services/ApiClient.swift index bb960e0..d314dda 100644 --- a/BaseMVC/Sources/Services/ApiClient.swift +++ b/BaseMVC/Sources/Services/ApiClient.swift @@ -72,7 +72,7 @@ struct ApiClient { let sessionManager = SessionManager(configuration: configuration) // OAuthHandler - let oAuthHandler = OAuthHandler(baseUrl: baseUrl) + let oAuthHandler = OAuthHandler(baseUrl: Config.baseUrl) sessionManager.adapter = oAuthHandler sessionManager.retrier = oAuthHandler diff --git a/BaseMVC/Sources/Services/AppRouter.swift b/BaseMVC/Sources/Services/AppRouter.swift index ec31910..b203377 100644 --- a/BaseMVC/Sources/Services/AppRouter.swift +++ b/BaseMVC/Sources/Services/AppRouter.swift @@ -18,7 +18,7 @@ enum AppRouter: URLRequestConvertible { } // MARK: URLRequestConvertible func asURLRequest() throws -> URLRequest { - let url = try baseUrl.asURL() + let url = try Config.baseUrl.asURL() var urlRequest = URLRequest(url: url.appendingPathComponent(path)) urlRequest.httpMethod = method.rawValue