如何避免导航栈中的委托调用痕迹?

问题描述 投票:-2回答:2

我在视图A上有搜索结果,在搜索结果上有一个过滤选项。当用户点击过滤器视图A时,它会将他带到列出所有过滤器选项的视图B。点击B中的筛选器会把用户带到视图C,显示每个筛选器的选择。当用户在视图C上选择过滤器时,我想把它传回A,这样当用户回到视图A时,在选择过滤器后,A上的结果数据会在应用所选过滤器后更新。

如何用其他最简单的方法实现?

ios swift delegates protocols
2个回答
1
投票

有很多方法。我分享一个最简单的方法。创建一个模态结构,从视图控制器C中更新它的值,然后在A中使用它。

 struct StudentData { 
    static var name = ""
    static var address = ""
 }

在视图控制器C中,更新其值

StudentData.name = "your name" 
StudentData.address = "your address"

在视图控制器A。

override func viewWillAppear(_ animated: Bool) {
    super.viewWillAppear(true)
    nameField.text = StudentData.name
    addressField.text = StudentData.address
}
© www.soinside.com 2019 - 2024. All rights reserved.