gpt4 book ai didi

ios - Swift 设置变量内联还是在函数中?

转载 作者:搜寻专家 更新时间:2023-11-01 06:21:41 24 4
gpt4 key购买 nike

设置已知值的变量的 Swift 标准是什么?这是我想到的 2 种不同方式。

方式一:在类中声明变量,然后在ViewDidLoad方法中设置

class ViewController: UIViewController {
var refreshControl: UIRefreshControl!
var sampleString: String!

override func viewDidLoad() {
super.viewDidLoad()
refreshControl = UIRefreshControl()
sampleString = "Hello"
}
}

选项 2:在类中声明变量并将其设置为内联

class ViewController2: UIViewController {
var refreshControl = UIRefreshControl()
var sampleString = "Hello"

override func viewDidLoad() {
super.viewDidLoad()
}
}

在 Swift 中执行此操作的首选方法是什么?提前致谢!

最佳答案

首先,您的两个示例中有两种根本不同的类型。在第一个示例中,类型是一个隐式展开的可选 String(即 String!),这意味着它可以接受 nil 值。在第二个示例中,它只是 String。如果该值不需要为 nil 可赋值,则第二个选项更好。

关于您的实际问题。我会说第二个选项更可取,因为您较早地初始化了该值,并且您没有机会在它初始化之前使用它。这相当于将类型声明为 String 并将初始化推迟到 init 方法。

viewDidLoad 方法仅对 UIViewController 实例有用,并且在加载 View 之前不会被调用(这通常是在演示期间)。等到那时才初始化一个值可能不是首选,并且在不子类 UIViewController 的对象中也没有用。

关于ios - Swift 设置变量内联还是在函数中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32912911/

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