如果在第二个视图上点击后退按钮,如何更新tableview的数据源数组?
我没有看到如何在这种情况下使用seques / prepare / unwind。我也尝试了UINavigationControllerDelegate并没有成功。
方案:
第一个VC有一个包含发票信息的tableview。点击单元格时,它会显示第二个具有特定发票信息的VC。
第二个VC有付款的行动。当点击付款时,它显示第三个VC(模态)。
点击第三个VC付款后,它返回第二个VC(展开)。它有效。
当我回到第二个VC时,有一个后退按钮(< Invoices),我想回到第一个VC(发票)。回去工作。问题是我需要在回到导航栏时更新数据源。
保存按钮也可以。它更新数据源(segues / unwind)
VC1成员:
var invoices = [Invoice]()
var client: Client?
var invoice: Invoice?
var filteredInvoices = [Invoice]()
VC2成员:
var invoice: Invoice?
var client: Client?
var invoiceItems : [InvoiceItem] = [InvoiceItem]()
VC3成员:
var amountPaid: Decimal = 0.00
var totalInvoice: Decimal = 0.00
var dateTransaction: String? = nil
var invoice: Invoice?
答案 0 :(得分:0)
class SomeViewController : UIViewController {
override func didMove(toParentViewController parent: UIViewController?) {
super.didMove(toParentViewController: parent)
//Back button pressed
if parent == nil {
//Update your data source here
}
}
}
答案 1 :(得分:0)
我通过VC3(付款)向VC1(发票)展开解决了这个问题。
为什么?输入付款后返回发票清单而非发票明细更有意义。
我检查它是否从详细信息(VC2)或makepayment(VC3)返回并为每个方案进行适当的调用。