- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
好吧,我已经完成了作业并阅读了我能找到的内容,但我似乎无法找到是否可以使用 Swift 来完成。我有一个到处都在使用的枚举:SomeEnum
如果它是 case
则它是一个冗长的 SomeEnum.SomeLengthyCaseName
并且我我厌倦了在我的代码中看到它。我不想重构,因为我喜欢新人维护我的代码时案例的描述性。
所以问题来了:是否可以为 SomeEnum.SomeLengthyCaseName
创建一个 typealias
?如果是这样,怎么办?这是我尝试过的:
enum SomeEnum {
case SomeLengthyCaseName
}
typealias SLCN = SomeEnum.SomeLengthyCaseName
这是语法,但 Xcode 给出编译器错误,指出“SomeLenghtyCaseName
不是 SomeEnum
的成员。”
准备就绪,出发!
最佳答案
那是一个 misleading error message .
真正的问题是 SomeLengthyCaseName
不是类型。因此,您不能使用 typealias
,它仅适用于 types 的别名。 (例如,您可以说 typealias SE = SomeEnum
。)
相反,您可以只使用全局常量:
let SLCN = SomeEnum.SomeLengthyCaseName
或者,更好的是,枚举本身的静态常量:
enum SomeEnum {
case SomeLengthyCaseName
static let SLCN = SomeEnum.SomeLengthyCaseName
}
let x: SomeEnum = .SLCN
关于ios - 枚举大小写的 Swift typealias,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32161457/
没有正确表达式类型的类型别名有什么作用? 在示例中,当另一个类型别名已存在于 BooleanLiteralConvertible 之外时,在 BooleanLiteralConvertible 中创建
作为一项学习练习,我正在尝试编写一个小型函数库。我的库中的许多函数都需要传入函数。我想为该函数“键入别名”,以便我的库的用户必须传入具有特定签名的函数。 我已经试过了: typealias Callb
我想使用 Class1 类中定义的别名。我想将它用于 Class2 import UIKit class Class1: NSObject { typealias tp = () -> Voi
我已经看到这个技巧来实现(比方说)图像类 UIImage/NSImage 的平台无关接口(interface): #if os(iOS) import UIKit typealias
我是 C# 的新手,习惯了 Swift,所以请多多包涵。 我想完全按照以下 Swift 代码描述的方式在 C# 中使用类型: typealias Answer = (title: String, is
在下面的代码中,当我直接引用 C.ID 而不是使用 ID 类型别名时,我得到一个错误,“type of expression is ambiguous without more语境”。如果它们都引用相
我真的只是加入这个社区来寻求解决一个特定问题的帮助,特别是关于如何声明一个以特定顺序保存各种信息类型的类型。对于上下文,我有下面使用的代码示例。 typealias Template = [Strin
嘿,我有一个使用类型别名的代码,这样当用户没有正确注册时,它能够向用户发送错误代码,尽管我的类型别名不起作用,这给我带来了我的类(class)突然出现的问题当我使用类型别名时成为错误类型,有人可以告诉
所以我写了一个与闭包有关的小练习程序。我试图更好地理解异步概念是如何工作的。当我尝试调用 request() 时,出现如下所示的转换错误: import UIKit let correctPassco
好吧,我已经完成了作业并阅读了我能找到的内容,但我似乎无法找到是否可以使用 Swift 来完成。我有一个到处都在使用的枚举:SomeEnum 如果它是 case 则它是一个冗长的 SomeEnum.S
根据Kotlin's lexer的出处, 有一个 typealias 关键字,它不像 yield 和 typeof 那样“保留供将来使用”。 另外,grammar reference建议 typeal
julia> typealias ERROR: UndefVarError: typealias not defined 它在 Julia:0.5 中有效,但在以上版本中无效 help?> typea
为什么编译失败?我试图减少重复的次数,因为在实际代码中类名很大,type 实际上是一个很长的名字 https://godbolt.org/z/8YarWs #include template str
我已经使用Kotlin的typealias定义了E164电话号码类型: typealias E164 = String 这使我在代码中传递电话号码时的意图更加清晰,而不仅仅是传递字符串。我认识到并没有
我的应用程序使用一个由 NSKeyArchiver 创建的文件,它引用了一个包含在外部框架中的对象。应用程序 Xcode 项目中不再提供外部框架。因此,当我尝试加载存档文件时,应用程序会在尝试解析此对
我有一个根对象,它主要由一个元组数组和一堆状态枚举组成。元组是这样描述的: typealias Program = [(Number, Statement)] 根对象目前是 NSCoding,但我想添
我有一个方法: public func someMethod(controller: Controller) { print(controller) typealias Handler
我有一个变量,它必须是 UIView,它也实现了 MTMathKeyboard 协议(protocol)。 我试过了, var keyboard: (UIView & MTMathKeyboard)
我正在处理一个多模块项目,该项目不再编译。设置是一些模块在另一个 git repo(repo“A”)中并将模块的 AAR 输出发布到 maven。然后另一个 git repo (repo "B") 通
我对 Kotlin 中的协议(protocol)组合有点生疏,我只想通过声明自定义 typealias 来组合多个接口(interface): // This doesn't work typeali
我是一名优秀的程序员,十分优秀!