diff --git a/SWDestinyTrades/Classes/LoanDetail/Datasource/LoansDetailDatasource.swift b/SWDestinyTrades/Classes/LoanDetail/Datasource/LoansDetailDatasource.swift index 40ff3696..ac785f5c 100644 --- a/SWDestinyTrades/Classes/LoanDetail/Datasource/LoansDetailDatasource.swift +++ b/SWDestinyTrades/Classes/LoanDetail/Datasource/LoansDetailDatasource.swift @@ -21,7 +21,7 @@ final class LoansDetailDatasource: NSObject, UITableViewDataSource { private var lentMe: [CardDTO] = [] private var borrowed: [CardDTO] = [] - required init(tableView: UITableView, delegate: LoansDetailsProtocol) { + required init(tableView: UITableView, delegate: LoansDetailsProtocol?) { super.init() self.tableView = tableView self.delegate = delegate diff --git a/SWDestinyTrades/Classes/LoanDetail/View/LoanDetailTableView.swift b/SWDestinyTrades/Classes/LoanDetail/View/LoanDetailTableView.swift index 201ddfea..ac3117fb 100644 --- a/SWDestinyTrades/Classes/LoanDetail/View/LoanDetailTableView.swift +++ b/SWDestinyTrades/Classes/LoanDetail/View/LoanDetailTableView.swift @@ -12,13 +12,14 @@ final class LoanDetailTableView: UITableView, LoanDetailViewType { var didSelectCard: ((CardDTO, AddCardType) -> Void)? var didSelectAddItem: ((AddCardType) -> Void)? - + + weak var loansDetailDelegate: LoansDetailsProtocol? + private var tableViewDatasource: LoansDetailDatasource? - required init(frame: CGRect = .zero, style: UITableView.Style = .plain, delegate: LoansDetailsProtocol) { + override init(frame: CGRect = .zero, style: UITableView.Style = .plain) { super.init(frame: frame, style: style) self.delegate = self - tableViewDatasource = LoansDetailDatasource(tableView: self, delegate: delegate) backgroundColor = .blackWhite } @@ -28,6 +29,7 @@ final class LoanDetailTableView: UITableView, LoanDetailViewType { } func updateTableViewData(person: PersonDTO) { + tableViewDatasource = LoansDetailDatasource(tableView: self, delegate: loansDetailDelegate) tableViewDatasource?.updateTableViewData(person: person) } diff --git a/SWDestinyTradesTests/Screens/LoanDetail/View/LoanDetailTableViewTests.swift b/SWDestinyTradesTests/Screens/LoanDetail/View/LoanDetailTableViewTests.swift index 8a5dd357..14306bf9 100644 --- a/SWDestinyTradesTests/Screens/LoanDetail/View/LoanDetailTableViewTests.swift +++ b/SWDestinyTradesTests/Screens/LoanDetail/View/LoanDetailTableViewTests.swift @@ -19,12 +19,12 @@ final class LoanDetailTableViewTests: XCTestCase { override func setUp() { super.setUp() delegate = LoansDetailsPresenterSpy() - sut = LoanDetailTableView(frame: .testDevice, delegate: delegate) + sut = LoanDetailTableView(frame: .testDevice) let cards: [CardDTO] = [ .stub(), .stub() ] - + sut.loansDetailDelegate = delegate sut.updateTableViewData(person: .stub(lentMe: cards, borrowed: cards)) }