如何在swift中的类中定义静态常量

我有这些定义在我的函数中的工作
class MyClass {
    func myFunc() {
        let testStr = "test"
        let testStrLen = countElements(testStr)
    }
}

但是如果我将’testStr’和’testStrLen’移动到类级别,它将不会编译。它说’MyClass.Type没有名为’testStr’的成员。

class MyClass {
    let testStr = "test"
    let testStrLen = countElements(testStr)

    func myFunc() {

    }
}

如何解决这个问题?我不想每次都要为不断的“测试”计数。

基于我对下面评论的理解,我需要这样做:

class MyClass {
    let testStr = "test"
    let testStrLen = countElements("test")

    func myFunc() {

    }
}

有没有办法我不需要键入/输入“测试”两次?
谢谢。

也许一个很好的习惯用于在Swift中声明类的常量是使用一个名为MyClassConstants的结构,如下所示。
struct MyClassConstants{
    static let testStr = "test"
    static let testStrLength = countElements(testStr)

    static let arrayOfTests: [String] = ["foo","bar",testStr]
}

这样,你的常量将在一个声明的结构中作为范围,而不是全局浮动。

更新

我添加了一个静态数组常量,响应一个评论询问静态数组初始化。请参见“Swift编程语言”中的Array Literals

请注意,字符串常量和字符串常量都可以用于初始化数组。但是,由于数组类型是已知的,整数常量testStrLength不能在数组初始化器中使用。

相关文章

软件简介:蓝湖辅助工具,减少移动端开发中控件属性的复制和粘...
现实生活中,我们听到的声音都是时间连续的,我们称为这种信...
前言最近在B站上看到一个漂亮的仙女姐姐跳舞视频,循环看了亿...
【Android App】实战项目之仿抖音的短视频分享App(附源码和...
前言这一篇博客应该是我花时间最多的一次了,从2022年1月底至...
因为我既对接过session、cookie,也对接过JWT,今年因为工作...