diff --git a/SideDishApp/Pods/Pods.xcodeproj/xcuserdata/ohking.xcuserdatad/xcschemes/xcschememanagement.plist b/SideDishApp/Pods/Pods.xcodeproj/xcuserdata/ohking.xcuserdatad/xcschemes/xcschememanagement.plist
index 5680e7be7..171ae30bf 100644
--- a/SideDishApp/Pods/Pods.xcodeproj/xcuserdata/ohking.xcuserdatad/xcschemes/xcschememanagement.plist
+++ b/SideDishApp/Pods/Pods.xcodeproj/xcuserdata/ohking.xcuserdatad/xcschemes/xcschememanagement.plist
@@ -7,12 +7,12 @@
Pods-SideDishApp.xcscheme_^#shared#^_
orderHint
- 1
+ 2
Toast-Swift.xcscheme_^#shared#^_
orderHint
- 0
+ 1
diff --git a/SideDishApp/SideDishApp.xcodeproj/project.pbxproj b/SideDishApp/SideDishApp.xcodeproj/project.pbxproj
index fc1afdb51..5040aa1e4 100644
--- a/SideDishApp/SideDishApp.xcodeproj/project.pbxproj
+++ b/SideDishApp/SideDishApp.xcodeproj/project.pbxproj
@@ -15,18 +15,16 @@
1E1DBADE262DDDFD0050FE6C /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 1E1DBADC262DDDFD0050FE6C /* LaunchScreen.storyboard */; };
1E5053C82636F504005615F5 /* DishesEntity+CoreDataProperties.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1E5053C72636F504005615F5 /* DishesEntity+CoreDataProperties.swift */; };
1E5053C92636F504005615F5 /* DishesEntity+CoreDataClass.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1E5053C52636F504005615F5 /* DishesEntity+CoreDataClass.swift */; };
+ 1E50540B26395ADB005615F5 /* LoadingViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1E50540A26395ADB005615F5 /* LoadingViewController.swift */; };
1ECD5F62262F256000DC56C0 /* Endpoint.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1ECD5F61262F256000DC56C0 /* Endpoint.swift */; };
1ECD5F66262F2E1E00DC56C0 /* NetworkManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1ECD5F65262F2E1E00DC56C0 /* NetworkManager.swift */; };
1ECD5F6A262F3B6500DC56C0 /* DishNetworkManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1ECD5F69262F3B6500DC56C0 /* DishNetworkManager.swift */; };
1ECD5F6D262F3C1700DC56C0 /* Dish.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1ECD5F6C262F3C1700DC56C0 /* Dish.swift */; };
1ECD5F70262F3F1C00DC56C0 /* MenuListUseCase.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1ECD5F6F262F3F1C00DC56C0 /* MenuListUseCase.swift */; };
1ECD5F73262F405100DC56C0 /* MenuListViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1ECD5F72262F405100DC56C0 /* MenuListViewModel.swift */; };
- 1ECF2E812632A70F006982BE /* LoadingView.xib in Resources */ = {isa = PBXBuildFile; fileRef = 1ECF2E802632A70F006982BE /* LoadingView.xib */; };
- 1ECF2E842632A862006982BE /* LoadingView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1ECF2E832632A862006982BE /* LoadingView.swift */; };
1ECF2EBC2635D6FD006982BE /* MenuRepository.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1ECF2EBB2635D6FD006982BE /* MenuRepository.swift */; };
1ECF2EC02635DE65006982BE /* CoreData.xcdatamodeld in Sources */ = {isa = PBXBuildFile; fileRef = 1ECF2EBE2635DE65006982BE /* CoreData.xcdatamodeld */; };
1ECF2EC32635E2EC006982BE /* CoreDataMenuResponseStorage.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1ECF2EC22635E2EC006982BE /* CoreDataMenuResponseStorage.swift */; };
- B0911E6F262EA29200D5EBEC /* DishCardCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = B0911E6E262EA29200D5EBEC /* DishCardCell.swift */; };
B04466292636911D00DAD616 /* DishCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = B04466272636911D00DAD616 /* DishCell.swift */; };
B044662A2636911D00DAD616 /* DishCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = B04466282636911D00DAD616 /* DishCell.xib */; };
B0911EA026316B9A00D5EBEC /* String+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = B0911E9F26316B9A00D5EBEC /* String+Extension.swift */; };
@@ -46,14 +44,13 @@
1E1DBADF262DDDFD0050FE6C /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = Info.plist; path = ../Info.plist; sourceTree = ""; };
1E5053C52636F504005615F5 /* DishesEntity+CoreDataClass.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = "DishesEntity+CoreDataClass.swift"; path = "/Users/ohking/Desktop/masters_codesquad/sidedish/SideDishApp/SideDishApp/Data/Persistence/DishesEntity+CoreDataClass.swift"; sourceTree = ""; };
1E5053C72636F504005615F5 /* DishesEntity+CoreDataProperties.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = "DishesEntity+CoreDataProperties.swift"; path = "/Users/ohking/Desktop/masters_codesquad/sidedish/SideDishApp/SideDishApp/Data/Persistence/DishesEntity+CoreDataProperties.swift"; sourceTree = ""; };
+ 1E50540A26395ADB005615F5 /* LoadingViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LoadingViewController.swift; sourceTree = ""; };
1ECD5F61262F256000DC56C0 /* Endpoint.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Endpoint.swift; sourceTree = ""; };
1ECD5F65262F2E1E00DC56C0 /* NetworkManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NetworkManager.swift; sourceTree = ""; };
1ECD5F69262F3B6500DC56C0 /* DishNetworkManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DishNetworkManager.swift; sourceTree = ""; };
1ECD5F6C262F3C1700DC56C0 /* Dish.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Dish.swift; sourceTree = ""; };
1ECD5F6F262F3F1C00DC56C0 /* MenuListUseCase.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MenuListUseCase.swift; sourceTree = ""; };
1ECD5F72262F405100DC56C0 /* MenuListViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MenuListViewModel.swift; sourceTree = ""; };
- 1ECF2E802632A70F006982BE /* LoadingView.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = LoadingView.xib; sourceTree = ""; };
- 1ECF2E832632A862006982BE /* LoadingView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LoadingView.swift; sourceTree = ""; };
1ECF2EBB2635D6FD006982BE /* MenuRepository.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MenuRepository.swift; sourceTree = ""; };
1ECF2EBF2635DE65006982BE /* CoreData.xcdatamodel */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcdatamodel; path = CoreData.xcdatamodel; sourceTree = ""; };
1ECF2EC22635E2EC006982BE /* CoreDataMenuResponseStorage.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CoreDataMenuResponseStorage.swift; sourceTree = ""; };
@@ -179,9 +176,6 @@
isa = PBXGroup;
children = (
1E1DBAD7262DDDFC0050FE6C /* Main.storyboard */,
- B0911E6E262EA29200D5EBEC /* DishCardCell.swift */,
- 1ECF2E802632A70F006982BE /* LoadingView.xib */,
- 1ECF2E832632A862006982BE /* LoadingView.swift */,
B04466272636911D00DAD616 /* DishCell.swift */,
B04466282636911D00DAD616 /* DishCell.xib */,
);
@@ -191,6 +185,7 @@
1E1DBAED262DDE640050FE6C /* ViewController */ = {
isa = PBXGroup;
children = (
+ 1E50540A26395ADB005615F5 /* LoadingViewController.swift */,
1E1DBAD5262DDDFC0050FE6C /* ViewController.swift */,
B0911EA32631AF3400D5EBEC /* DiffableProvider.swift */,
B0911EA72632B7A000D5EBEC /* DishCollectionViewDelegate.swift */,
@@ -327,7 +322,6 @@
buildActionMask = 2147483647;
files = (
1E1DBADE262DDDFD0050FE6C /* LaunchScreen.storyboard in Resources */,
- 1ECF2E812632A70F006982BE /* LoadingView.xib in Resources */,
B044662A2636911D00DAD616 /* DishCell.xib in Resources */,
1E1DBADB262DDDFD0050FE6C /* Assets.xcassets in Resources */,
1E1DBAD9262DDDFC0050FE6C /* Main.storyboard in Resources */,
@@ -390,6 +384,7 @@
1E1DBAD6262DDDFC0050FE6C /* ViewController.swift in Sources */,
1ECD5F70262F3F1C00DC56C0 /* MenuListUseCase.swift in Sources */,
1ECD5F6A262F3B6500DC56C0 /* DishNetworkManager.swift in Sources */,
+ 1E50540B26395ADB005615F5 /* LoadingViewController.swift in Sources */,
1E5053C82636F504005615F5 /* DishesEntity+CoreDataProperties.swift in Sources */,
B04466292636911D00DAD616 /* DishCell.swift in Sources */,
1E1DBAD2262DDDFC0050FE6C /* AppDelegate.swift in Sources */,
@@ -399,7 +394,6 @@
B0911EA42631AF3400D5EBEC /* DiffableProvider.swift in Sources */,
B0911EA82632B7A100D5EBEC /* DishCollectionViewDelegate.swift in Sources */,
1E1DBAD4262DDDFC0050FE6C /* SceneDelegate.swift in Sources */,
- 1ECF2E842632A862006982BE /* LoadingView.swift in Sources */,
1E5053C92636F504005615F5 /* DishesEntity+CoreDataClass.swift in Sources */,
1ECD5F73262F405100DC56C0 /* MenuListViewModel.swift in Sources */,
);
diff --git a/SideDishApp/SideDishApp.xcodeproj/xcuserdata/ohking.xcuserdatad/xcschemes/xcschememanagement.plist b/SideDishApp/SideDishApp.xcodeproj/xcuserdata/ohking.xcuserdatad/xcschemes/xcschememanagement.plist
index edf0a7777..3ca11deb8 100644
--- a/SideDishApp/SideDishApp.xcodeproj/xcuserdata/ohking.xcuserdatad/xcschemes/xcschememanagement.plist
+++ b/SideDishApp/SideDishApp.xcodeproj/xcuserdata/ohking.xcuserdatad/xcschemes/xcschememanagement.plist
@@ -7,7 +7,7 @@
SideDishApp.xcscheme_^#shared#^_
orderHint
- 2
+ 0
diff --git a/SideDishApp/SideDishApp.xcworkspace/xcuserdata/ohking.xcuserdatad/UserInterfaceState.xcuserstate b/SideDishApp/SideDishApp.xcworkspace/xcuserdata/ohking.xcuserdatad/UserInterfaceState.xcuserstate
index 47d2742fe..a82b0efca 100644
Binary files a/SideDishApp/SideDishApp.xcworkspace/xcuserdata/ohking.xcuserdatad/UserInterfaceState.xcuserstate and b/SideDishApp/SideDishApp.xcworkspace/xcuserdata/ohking.xcuserdatad/UserInterfaceState.xcuserstate differ
diff --git a/SideDishApp/SideDishApp.xcworkspace/xcuserdata/ohking.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist b/SideDishApp/SideDishApp.xcworkspace/xcuserdata/ohking.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist
index 95fed2708..df9ecdbf5 100644
--- a/SideDishApp/SideDishApp.xcworkspace/xcuserdata/ohking.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist
+++ b/SideDishApp/SideDishApp.xcworkspace/xcuserdata/ohking.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist
@@ -3,121 +3,4 @@
uuid = "A5E17B2F-95B0-4582-ACBD-4CD3BE453B84"
type = "0"
version = "2.0">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- >>>>>> Dev-iOS
- landmarkType = "7">
-
-
-
diff --git a/SideDishApp/SideDishApp/Presentation/UI/View/Base.lproj/Main.storyboard b/SideDishApp/SideDishApp/Presentation/UI/View/Base.lproj/Main.storyboard
index 8c36ff540..7413c7c10 100644
--- a/SideDishApp/SideDishApp/Presentation/UI/View/Base.lproj/Main.storyboard
+++ b/SideDishApp/SideDishApp/Presentation/UI/View/Base.lproj/Main.storyboard
@@ -1,5 +1,5 @@
-
+
@@ -12,7 +12,7 @@
-
+
@@ -114,10 +114,36 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
@@ -133,6 +159,7 @@
+
diff --git a/SideDishApp/SideDishApp/Presentation/UI/View/LoadingView.swift b/SideDishApp/SideDishApp/Presentation/UI/View/LoadingView.swift
deleted file mode 100644
index 6505d4686..000000000
--- a/SideDishApp/SideDishApp/Presentation/UI/View/LoadingView.swift
+++ /dev/null
@@ -1,30 +0,0 @@
-//
-// LoadingView.swift
-// SideDishApp
-//
-// Created by 오킹 on 2021/04/23.
-//
-
-import UIKit
-
-class LoadingView: UIView {
-
- @IBOutlet weak var imageView: UIImageView!
-
- override init(frame: CGRect) {
- super.init(frame: frame)
- initXIB()
- }
-
- required init?(coder: NSCoder) {
- super.init(coder: coder)
- initXIB()
- }
-
- func initXIB() {
- guard let view = Bundle.main.loadNibNamed("LoadingView", owner: self, options: nil)?.first as? UIView else { return }
-
- view.frame = self.bounds
- self.addSubview(view)
- }
-}
diff --git a/SideDishApp/SideDishApp/Presentation/UI/View/LoadingView.xib b/SideDishApp/SideDishApp/Presentation/UI/View/LoadingView.xib
deleted file mode 100644
index 26d92a6de..000000000
--- a/SideDishApp/SideDishApp/Presentation/UI/View/LoadingView.xib
+++ /dev/null
@@ -1,38 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/SideDishApp/SideDishApp/Presentation/UI/ViewController/LoadingViewController.swift b/SideDishApp/SideDishApp/Presentation/UI/ViewController/LoadingViewController.swift
new file mode 100644
index 000000000..da380297a
--- /dev/null
+++ b/SideDishApp/SideDishApp/Presentation/UI/ViewController/LoadingViewController.swift
@@ -0,0 +1,34 @@
+//
+// LoadingViewController.swift
+// SideDishApp
+//
+// Created by 오킹 on 2021/04/28.
+//
+
+import UIKit
+
+class LoadingViewController: UIViewController {
+
+ private let menuListViewModel = MenuListViewModel()
+
+ override func viewDidLoad() {
+ super.viewDidLoad()
+
+ }
+
+ override func viewDidAppear(_ animated: Bool) {
+ menuListViewModel.requestDishes() {
+ nextPage()
+ }
+ }
+
+ private func nextPage() {
+ guard let nextPage = self.storyboard?.instantiateViewController(identifier: "ViewController") as? ViewController else {
+ return
+ }
+ nextPage.menuListViewModel = self.menuListViewModel
+ nextPage.bind()
+ nextPage.modalPresentationStyle = .fullScreen
+ self.present(nextPage, animated: false, completion: nil)
+ }
+}
diff --git a/SideDishApp/SideDishApp/Presentation/UI/ViewController/ViewController.swift b/SideDishApp/SideDishApp/Presentation/UI/ViewController/ViewController.swift
index 52e9b9e3c..31b251b7c 100644
--- a/SideDishApp/SideDishApp/Presentation/UI/ViewController/ViewController.swift
+++ b/SideDishApp/SideDishApp/Presentation/UI/ViewController/ViewController.swift
@@ -13,9 +13,8 @@ class ViewController: UIViewController {
@IBOutlet weak var dishCollectionView: UICollectionView!
- private let menuListViewModel = MenuListViewModel()
+ var menuListViewModel: MenuListViewModel!
private var subscriptions = Set()
- private var loadingView = LoadingView()
var dataSource : UICollectionViewDiffableDataSource!
let dishCollectionViewDelegate = DishCollectionViewDelegate()
var snapshot = NSDiffableDataSourceSnapshot()
@@ -23,20 +22,10 @@ class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
- setLoadingView()
dishCollectionView.delegate = dishCollectionViewDelegate
dataSource = DiffableProvider().configureDataSource(collectionView: dishCollectionView)
- bind()
- menuListViewModel.requestDishes()
}
-
- func setLoadingView() {
- let loadingiewFrame = CGRect(x: 0, y: 0, width: 100, height: 100)
- loadingView = LoadingView(frame: loadingiewFrame)
- loadingView.center = self.view.center
- self.view.addSubview(loadingView)
- }
-
+
private func addDataToSnapshot (dishes: [Dishes]) {
let dishesArray = dishes as Array
@@ -54,7 +43,6 @@ class ViewController: UIViewController {
.sink(receiveCompletion: { _ in
//error
}, receiveValue: { mainDishes in
- self.loadingView.removeFromSuperview()
self.addDataToSnapshot(dishes: mainDishes)
})
.store(in: &subscriptions)
diff --git a/SideDishApp/SideDishApp/Presentation/ViewModel/MenuListViewModel.swift b/SideDishApp/SideDishApp/Presentation/ViewModel/MenuListViewModel.swift
index 87b621428..af795f1be 100644
--- a/SideDishApp/SideDishApp/Presentation/ViewModel/MenuListViewModel.swift
+++ b/SideDishApp/SideDishApp/Presentation/ViewModel/MenuListViewModel.swift
@@ -60,9 +60,10 @@ class MenuListViewModel {
.store(in: &subscriptions)
}
- func requestDishes() {
+ func requestDishes(completion: () -> Void) {
fetchDishes(dish: "main")
fetchDishes(dish: "soup")
fetchDishes(dish: "side")
+ completion()
}
}