@@ -10,22 +10,30 @@ import SwiftUI
10
10
11
11
class FeedsViewController : UIViewController {
12
12
// MARK: - Properties
13
- private var feedsView : FeedsView ?
14
- private var noFeedsView : NoDataView ?
15
- var viewModel : FeedDetailViewModel !
13
+ private var feedsView = FeedsView ( )
14
+ private var noFeedsView = NoDataView ( )
15
+ var viewModel : FeedViewModel !
16
16
private var feedImagesViewController : FeedImagesViewController !
17
17
18
18
// MARK: - Lifecycle
19
19
override func viewDidLoad( ) {
20
20
super. viewDidLoad ( )
21
+ print ( " FeedsViewController - viewDidLoad() called " ) // 확인 로그
22
+ print ( " Is viewModel nil? \( viewModel == nil ) " ) // viewModel nil 여부 확인
23
+
21
24
setupViewModel ( )
25
+ print ( " Is viewModel nil after setupViewModel? \( viewModel == nil ) " ) // viewModel 초기화 여부 확인
26
+
22
27
setupViews ( )
23
28
setupTableView ( )
24
29
25
30
setupBindings ( )
26
31
27
32
updateViewVisibility ( )
28
33
addFeedImagesViewController ( )
34
+
35
+ print ( " Calling fetchFeeds() " )
36
+
29
37
viewModel. fetchFeeds ( )
30
38
}
31
39
@@ -34,13 +42,14 @@ class FeedsViewController: UIViewController {
34
42
private func setupViewModel( ) {
35
43
let feedService = FeedService ( )
36
44
let feedRepository = FeedRepository ( feedService: feedService)
37
- viewModel = FeedDetailViewModel ( getFeedListUseCase: GetFeedListUseCaseImpl ( feedRepository: feedRepository) )
45
+ viewModel = FeedViewModel ( getFeedListUseCase: GetFeedListUseCaseImpl ( feedRepository: feedRepository) )
38
46
}
39
47
40
48
private func setupBindings( ) {
41
49
viewModel. onFeedsDataFetched = { [ weak self] in
42
50
DispatchQueue . main. async {
43
51
self ? . updateViewVisibility ( )
52
+ self ? . feedsView. feedsTableView. reloadData ( )
44
53
}
45
54
}
46
55
}
@@ -62,29 +71,30 @@ class FeedsViewController: UIViewController {
62
71
feedsView = FeedsView ( )
63
72
noFeedsView = NoDataView ( )
64
73
65
- view. addSubview ( feedsView! )
66
- view. addSubview ( noFeedsView! )
74
+ view. addSubview ( feedsView)
75
+ view. addSubview ( noFeedsView)
67
76
68
- feedsView! . snp. makeConstraints { make in
77
+ feedsView. snp. makeConstraints { make in
69
78
make. edges. equalTo ( view. safeAreaLayoutGuide)
70
79
}
71
80
72
- noFeedsView! . snp. makeConstraints { make in
81
+ noFeedsView. snp. makeConstraints { make in
73
82
make. edges. equalTo ( view. safeAreaLayoutGuide)
74
83
}
75
84
}
76
85
77
86
private func setupTableView( ) {
78
- feedsView!. feedsTableView. delegate = self
79
- feedsView!. feedsTableView. dataSource = self
80
- feedsView!. feedsTableView. register ( FeedsTableViewCell . self, forCellReuseIdentifier: FeedsTableViewCell . identifier)
81
- feedsView!. feedsTableView. reloadData ( )
87
+ feedsView. feedsTableView. delegate = self
88
+ feedsView. feedsTableView. dataSource = self
89
+ feedsView. feedsTableView. register ( FeedsTableViewCell . self, forCellReuseIdentifier: FeedsTableViewCell . identifier)
82
90
}
83
91
84
92
private func updateViewVisibility( ) {
85
- let hasFeeds = !viewModel. feeds. isEmpty
86
- feedsView? . isHidden = !hasFeeds
87
- noFeedsView? . isHidden = hasFeeds
93
+ let hasFeeds = !viewModel. displayFeedContent. isEmpty
94
+ feedsView. isHidden = !hasFeeds
95
+ // feedsView.isHidden = false
96
+ // noFeedsView.isHidden = true
97
+ noFeedsView. isHidden = hasFeeds
88
98
}
89
99
// private func addFeedsView() {
90
100
// feedsView = FeedsView()
@@ -93,13 +103,6 @@ class FeedsViewController: UIViewController {
93
103
// feedsView!.snp.makeConstraints { make in
94
104
// make.edges.equalTo(view.safeAreaLayoutGuide)
95
105
// }
96
- //
97
- // // 테이블 뷰 설정
98
- // feedsView!.feedsTableView.delegate = self
99
- // feedsView!.feedsTableView.dataSource = self
100
- // feedsView!.feedsTableView.register(FeedsTableViewCell.self, forCellReuseIdentifier: FeedsTableViewCell.identifier)
101
- // feedsView!.feedsTableView.reloadData()
102
- // }
103
106
//
104
107
// private func addNoFeedsView() {
105
108
// noFeedsView = NoDataView()
@@ -123,14 +126,14 @@ class FeedsViewController: UIViewController {
123
126
124
127
extension FeedsViewController : UITableViewDelegate , UITableViewDataSource {
125
128
func tableView( _ tableView: UITableView , numberOfRowsInSection section: Int ) -> Int {
126
- return viewModel. feeds . count
129
+ return viewModel. displayFeedContent . count
127
130
}
128
131
129
132
func tableView( _ tableView: UITableView , cellForRowAt indexPath: IndexPath ) -> UITableViewCell {
130
133
guard let cell = tableView. dequeueReusableCell ( withIdentifier: FeedsTableViewCell . identifier, for: indexPath) as? FeedsTableViewCell else {
131
134
return UITableViewCell ( )
132
135
}
133
- let feed = viewModel. feeds [ indexPath. row]
136
+ let feed = viewModel. displayFeedContent [ indexPath. row]
134
137
cell. configure ( with: feed)
135
138
return cell
136
139
}
0 commit comments