gpt4 book ai didi

ios - Swift 条件绑定(bind)

转载 作者:可可西里 更新时间:2023-11-01 01:02:26 24 4
gpt4 key购买 nike

我正在使用 Swift 构建一个 iOS 应用程序。我有三个 UIViewControllers 和一个枚举,用于在我想使用 segue 显示它们时使用。

class a: UIViewController {}
class b: UIViewController {}
class c: UIViewController {}

我正在编写一个函数来迭代它们,如果 c 是当前函数,那么我需要设置一个属性。然后稍后使用我的 a,b,c 实例。

// Segues 
func segue(sender: Button) {
let title = sender.destination!
switch title {
case .NewWorkout:
let VC: NewWorkout = NewWorkout()
case .Home:
let VC: Home = Home()
case .Preview:
let VC: WorkoutPreview = WorkoutPreview()
VC.type = .allWorkouts
} // 1

self.presentViewController(VC, animated: true, completion: nil) // 2
}

我得到的错误是 Expected expression in assignment 在第 1 行和 Use of unresolved identifier "VC" 在第 2 行。我明白我的问题是 VC 是在 switch 语句中创建的,在其独家新闻之外不可用。谢谢。

最佳答案

只需在 switch 语句之前定义 VC 变量:

let VC : UIViewController

switch title {
case .NewWorkout:
VC = NewWorkout()
case .Home:
VC = Home()
case .Preview:
let workoutPreview = WorkoutPreview()
workoutPreview.type = .allWorkouts
VC = workoutPreview
}

self.presentViewController(VC, animated: true, completion: nil)

请注意,您可以使用 letVC 声明为(非可选)常量如果所有可能的枚举值都在开关中处理。如果需要,您可以添加一个

    default:
fatalError("Unexpected title")

关于ios - Swift 条件绑定(bind),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34254273/

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