加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-14 06:12:26 所属栏目:百科 来源:网络整理
导读:我有这些定义在我的函数中的工作 class MyClass { func myFunc() { let testStr = "test" let testStrLen = countElements(testStr) }} 但是如果我将’testStr’和’testStrLen’移动到类级别,它将不会编译。它说’MyClass.Type没有名为’testStr’的成员。
我有这些定义在我的函数中的工作
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不能在数组初始化器中使用。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读