ios – 如何使用swift在故事板模式下重用UITabBarController中的视图控制器

我正在使用一个带有3个子视图的UITabBarController,它们都具有相同的结构,只是应用于数据的不同数据或过滤器.到目前为止,我刚刚制作了3个子视图并将它们连接起来,但我正在重复自己,我知道这不是正确的做事方式.

我的问题是如何使用它的所有功能和视图创建1个子视图,然后在应用正确的过滤器时重复使用它.例如

点击“所有数据标签”>使用var filter =’all’和var order_by =’created_date’加载视图

点击“完成标签”>使用var filter =’completed’和var order_by =’completed_date’加载视图

我在想,当我准备segue时,我可以做些什么?

最佳答案 虽然在你的原帖中没有太多的背景,但我认为这可能有用……

您可以在主子视图中设置一个全局变量,您希望根据我的理解在内容中自定义该变量.

var customizationObject = CustomFilters()

而对于CustomFilters,请执行以下操作:

class CustomFilters {
 var filter1: String?
 var filter2: String?
//and so on
}

并在prepareForSegue中将对象传递给目标视图控制器以设置过滤器.

override func prepareForSegue(segue: UIStoryboardSegue!, sender: AnyObject!) {
    if (segue.identifier == "Load View") {
        // pass data to next view
    }
}

在新的单子视图中,您可以检查viewWillAppear或viewDidLoad中设置的过滤器(根据您的情况而定)并继续执行您想要执行的操作.

点赞