gpt4 book ai didi

swift - 不能声明一个使用前一个 let 的 let 吗?

转载 作者:行者123 更新时间:2023-11-28 07:50:55 26 4
gpt4 key购买 nike

因此,在 objective-c 、C/C++、.NET 以及我使用过的几乎所有其他语言中,您可以声明可以包含以前常量的常量,例如

#define PI 3.14159
#define HALFPI (PI/2)

const CGFloat BOTTOM_BAR_HEIGHT = 200;
const CGFloat BOTTOMBARCONTENTS_DY = BOTTOM_BAR_HEIGHT/2;

但这在swift中似乎并不奏效

let PI=3.14159
let HALF_PI=PI/2

如果您正在尝试执行诸如(许多示例中的一个)布局尺寸或实际上任何相互依赖的常量集之类的操作,这将是一个真正有用的模式。有什么方法可以快速实现这种模式,而不需要将它们声明为 vars 并将它们设置在初始化函数中(这将使一些非常冗长的代码的大小加倍并降低可维护性,使用 vars 而不是 let 会招致任何低级惩罚,并破坏了我对 swift 的第一印象)?谢谢。

最佳答案

可能您可以像这样使用 NSObject 类:

import UIKit
class ViewController: NSObject {
static let PI = 3.14
static let HALF_PI = ViewController.PI/2
}

为此,您可以使用静态

并将它用于任何 View Controller ,例如

 print(ViewController.PI)
print(ViewController.HALF_PI)

希望这对您有所帮助。

关于swift - 不能声明一个使用前一个 let 的 let 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49724129/

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