/
ListsBuilder.swift
36 lines (30 loc) · 1.18 KB
/
ListsBuilder.swift
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
//
// ListsBuilder.swift
// FlashSpeak
//
// Created by Denis Dmitriev on 18.04.2023.
//
import UIKit
struct ListsBuilder {
static func build(router: ListsEvent) -> UIViewController & ListsViewInput {
let coreData = CoreDataManager.instance
let presenter = ListsPresenter(
fetchedListsResultController: coreData.initListFetchedResultsController(),
router: router
)
let listsCollectionDataSource = ListsCollectionDataSource()
let listsCollectionDelegate = ListsCollectionDelegate()
let searchResultsUpdating = ListSearchResultsController()
let viewController = ListsViewController(
presenter: presenter,
listsCollectionDataSource: listsCollectionDataSource,
listsCollectionDelegate: listsCollectionDelegate,
searchResultsController: searchResultsUpdating
)
presenter.viewController = viewController
listsCollectionDelegate.viewController = viewController
listsCollectionDataSource.viewController = viewController
searchResultsUpdating.viewController = viewController
return viewController
}
}