gpt4 book ai didi

ios - 如何防止用户从滑出设置菜单中连续调用同一个 View Controller 两次?

转载 作者:行者123 更新时间:2023-11-28 05:45:23 25 4
gpt4 key购买 nike

我有以下功能来识别嵌入在选项卡栏 Controller 中的导航 Controller 并推送配置文件 View Controller 。此功能有效,但我想做一些检查,如果从滑出菜单调用此功能,而配置文件 View Controller 是最近推送的 View Controller ,则防止它第二次显示配置文件 View Controller 。这是函数:

private func toProfile() {
guard let appDelegate = UIApplication.shared.delegate as? AppDelegate,
let tbc = appDelegate.window?.rootViewController as? TabBarController,
let nav = tbc.viewControllers?[tbc.selectedIndex] as? UINavigationController else { return }
let profileVC = UIStoryboard(name: "Main", bundle: nil).instantiateViewController(withIdentifier: "profileVC")
nav.pushViewController(profileVC, animated: true)
delegate?.dismissSettingsVC()
}

我试过:

if nav.viewControllers.last == profileVC {
print("Do nothing")
} else {
nav.pushViewController(profileVC, animated: true)
}

但它从未说两者相等。如何使用 if 语句检查最后推送的 View Controller 是否为 profileVC?

最佳答案

你需要检查类型

if nav.viewControllers.last is ProfileVC {
print("Do nothing")
}
else {
nav.pushViewController(profileVC, animated: true)
}

目前你比较相同类型的 2 个实例并确定它们不相等

关于ios - 如何防止用户从滑出设置菜单中连续调用同一个 View Controller 两次?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54953183/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com