Skip to content

Commit 73c77d4

Browse files
committed
change detailVC logic
1 parent 7fd5e16 commit 73c77d4

3 files changed

Lines changed: 29 additions & 16 deletions

File tree

AnimalsApp/AnimalsApp/Views/DetailViewController/DetailViewController.swift

Lines changed: 21 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -9,11 +9,9 @@ import UIKit
99
import SDWebImage
1010

1111
class DetailViewController: UIViewController {
12+
1213
// MARK: Properties
13-
public var labelNameText: String?
14-
public var labelSpecieText: String?
15-
public var textViewText: String?
16-
public var imageViewURL: URL?
14+
var animal: Animal?
1715

1816
// MARK: Outlets
1917
@IBOutlet weak var imageViewDetail: UIImageView!
@@ -24,7 +22,7 @@ class DetailViewController: UIViewController {
2422
override func viewDidLoad() {
2523
super.viewDidLoad()
2624
setNavigationItems()
27-
setupCell()
25+
setupDetails()
2826
}
2927

3028
private func setNavigationItems() {
@@ -41,11 +39,24 @@ class DetailViewController: UIViewController {
4139
navigationController?.navigationBar.tintColor = UIColor.blueTextColor
4240
}
4341

44-
private func setupCell() {
45-
labelName.text = labelNameText
46-
labelSpecie.text = labelSpecieText
47-
textViewDescription.text = textViewText
48-
imageViewDetail.sd_setImage(with: imageViewURL)
42+
private func setupDetails() {
43+
guard let animal = animal else { return }
44+
45+
if animal.age == 1 {
46+
labelName.text = "\(animal.name?.capitalized ?? "") - \(animal.age ?? 1) ano"
47+
} else {
48+
labelName.text = "\(animal.name?.capitalized ?? "") - \(animal.age ?? 0) anos"
49+
}
50+
51+
labelSpecie.text = animal.species?.capitalized
52+
textViewDescription.text = animal.description
53+
54+
if let imageData = animal.imageData {
55+
imageViewDetail.image = UIImage(data: imageData)
56+
} else {
57+
imageViewDetail.sd_setImage(with: animal.imageURL)
58+
}
59+
4960
imageViewDetail.layer.cornerRadius = 10
5061
imageViewDetail.layer.borderWidth = 0.5
5162
imageViewDetail.layer.borderColor = UIColor.lightGray?.cgColor

AnimalsApp/AnimalsApp/Views/FavoritesViewController/FavoritesViewController.swift

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,8 @@ class FavoritesViewController: UIViewController {
4343
NSAttributedString.Key.font: UIFont(name: "OpenSans", size: 20) ?? UIFont.systemFont(ofSize: 20)]
4444
navigationController?.navigationBar.standardAppearance = appearance
4545
navigationController?.navigationBar.scrollEdgeAppearance = navigationController?.navigationBar.standardAppearance
46+
47+
navigationItem.backButtonTitle = ""
4648
}
4749

4850
}
@@ -75,7 +77,8 @@ extension FavoritesViewController: UITableViewDelegate {
7577
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
7678
let detailVC = DetailViewController(nibName: "DetailViewController", bundle: nil)
7779

78-
//continuar
80+
let animal = favoritesVM?.modelAt(indexPath.row)
81+
detailVC.animal = animal
7982

8083
navigationController?.pushViewController(detailVC, animated: true)
8184

AnimalsApp/AnimalsApp/Views/HomeViewController/HomeViewController.swift

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -112,11 +112,10 @@ extension HomeViewController: UITableViewDelegate {
112112

113113
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
114114
let detailVC = DetailViewController(nibName: "DetailViewController", bundle: nil)
115-
let data = homeVM.modelAt(indexPath.row)
116-
detailVC.imageViewURL = data.imageURL
117-
detailVC.labelNameText = "\(data.name ?? "") - \(data.age ?? 0)"
118-
detailVC.labelSpecieText = data.species
119-
detailVC.textViewText = data.description
115+
116+
let animal = homeVM.modelAt(indexPath.row)
117+
detailVC.animal = animal
118+
120119
navigationController?.pushViewController(detailVC, animated: true)
121120

122121
tableView.deselectRow(at: indexPath, animated: true)

0 commit comments

Comments
 (0)