如何在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不能在数组初始化器中使用。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |