【发布时间】:2017-10-20 00:12:57
【问题描述】:
我有一个 viewControllers 数组,各种子类不都是同一个 VC。我想过滤包含它们的数组以识别与我选择的过滤器匹配的数组。
问题在于,由于各种不同类型的 VC 被处理为只是“ViewControllers”,我无法通过明确的属性进行过滤。
有没有一种方法可以定义一个属性,该属性将位于所有 viewControllers 上,然后通过它进行过滤?
一个想法是我可以子类化 VC,然后为每个控制器子类化子类,这样我就可以将它们全部转换为该类型并检查该参数
这是代码:但是我想将“标题”换成自定义属性
contentViewControllers = contentControllers()
if self.pushedTitle != nil && self.pushedID != nil, self.pushedPage != nil {
if let i = contentViewControllers.index(where: { $0.title == self.pushedPage }) {
return selectContentViewController(contentViewControllers[i])
}
编辑:更新 VC 初始化
let text = TextViewController(textView: TextView.init(frame: UIScreen.main.bounds), pageID: page.pageid, pageTitle: page.title)
let navigationController = UINavigationController(rootViewController: text)
contentList.append(navigationController)
【问题讨论】:
标签: ios swift filter uiviewcontroller