diff --git a/MemorialHouse/MHPresentation/MHPresentation/Source/Book/View/BookViewController.swift b/MemorialHouse/MHPresentation/MHPresentation/Source/Book/View/BookViewController.swift
index 2148f586..6db0d0f1 100644
--- a/MemorialHouse/MHPresentation/MHPresentation/Source/Book/View/BookViewController.swift
+++ b/MemorialHouse/MHPresentation/MHPresentation/Source/Book/View/BookViewController.swift
@@ -35,6 +35,7 @@ final class BookViewController: UIViewController {
setup()
configureNavigationBar()
configureConstraints()
+ input.send(.loadBookTitle)
}
override func viewWillAppear(_ animated: Bool) {
@@ -56,8 +57,8 @@ final class BookViewController: UIViewController {
case .loadFirstPage(let page):
guard let page else { return }
self?.configureFirstPageViewController(firstPage: page)
- case .moveToEdit(let bookID):
- self?.presentEditBookView(bookID: bookID)
+ case .moveToEdit(let bookID, let bookTitle):
+ self?.presentEditBookView(bookID: bookID, bookTitle: bookTitle)
}
}
.store(in: &cancellables)
@@ -129,10 +130,10 @@ final class BookViewController: UIViewController {
}
// MARK: - PresentEditBookView
- private func presentEditBookView(bookID: UUID) {
+ private func presentEditBookView(bookID: UUID, bookTitle: String) {
do {
let editBookViewModelFactory = try DIContainer.shared.resolve(EditBookViewModelFactory.self)
- let editBookViewModel = editBookViewModelFactory.make(bookID: bookID)
+ let editBookViewModel = editBookViewModelFactory.make(bookID: bookID, bookTitle: bookTitle)
let editBookViewController = EditBookViewController(viewModel: editBookViewModel, mode: .modify)
navigationController?.pushViewController(editBookViewController, animated: true)
} catch {
diff --git a/MemorialHouse/MHPresentation/MHPresentation/Source/Book/ViewModel/BookViewModel.swift b/MemorialHouse/MHPresentation/MHPresentation/Source/Book/ViewModel/BookViewModel.swift
index 14f7d57f..9b0bcbf9 100644
--- a/MemorialHouse/MHPresentation/MHPresentation/Source/Book/ViewModel/BookViewModel.swift
+++ b/MemorialHouse/MHPresentation/MHPresentation/Source/Book/ViewModel/BookViewModel.swift
@@ -4,6 +4,7 @@ import Combine
public final class BookViewModel: ViewModelType {
enum Input {
+ case loadBookTitle
case loadBook
case loadPreviousPage
case loadNextPage
@@ -13,7 +14,7 @@ public final class BookViewModel: ViewModelType {
enum Output {
case setBookTitle(with: String?)
case loadFirstPage(page: Page?)
- case moveToEdit(bookID: UUID)
+ case moveToEdit(bookID: UUID, bookTitle: String)
}
private let fetchBookUseCase: FetchBookUseCase
@@ -22,21 +23,26 @@ public final class BookViewModel: ViewModelType {
let identifier: UUID
private var book: Book?
+ private let bookTitle: String
private var nowPageIndex: Int = 0
var previousPage: Page? { nowPageIndex > 0 ? book?.pages[nowPageIndex - 1] : nil }
var nextPage: Page? { nowPageIndex < (book?.pages.count ?? 0) - 1 ? book?.pages[nowPageIndex + 1] : nil }
init(
fetchBookUseCase: FetchBookUseCase,
- identifier: UUID
+ identifier: UUID,
+ bookTitle: String
) {
self.fetchBookUseCase = fetchBookUseCase
self.identifier = identifier
+ self.bookTitle = bookTitle
}
func transform(input: AnyPublisher) -> AnyPublisher