我有一个有关联值的枚举。此外,每个值都有一个字符串描述。我怎样才能得到所有案件的描述?
enum MyEnum {
case caseA(data: [DataOfTypeA])
case caseB(data: [DataOfTypeB])
case caseC(data: [DataOfTypeC])
case caseD(data: [DataOfTypeD])
var typeDescription: String {
switch self {
case .caseA:
return
是否可以在swift中编写自定义转换(强制转换)操作符?特别是我在寻找枚举转换,例如:
enum MyEnum : Int {
case Case1 = 0
case Case2
func __conversion() -> String { // doesn't work since Swift 1.0
switch self {
case Case1: return "Case 1"
case Case2: return "Case 2"
}
}
}
我有很多方法如下所示:
switch(myEnum) {
case a :
case b :
case c :
case d :
modifier = 1.1;
break;
default :
break;
}
如果我有机会使每个情况和修饰符变量,所以我可以有一个有6个参数的方法,4的情况和2的修改。类似于以下内容(伪):
public void setModifier(case1, case2, case3, case4, modifier, value) {
switch(myEnum) {
我希望为新项目创建一个新列表,而不是将新项目添加到现有列表中。例如,
FINAL OUTPUT:[[case1, this is method A], [case2, this is method A]]
但是,我的代码输出是
FINAL OUTPUT:[[case1, this is method A, case2, this is method A], [case1, this is method A, case2, this is method A]]
我不太确定我哪里出错了。如有任何帮助,请多关照!谢谢!
下面是我的代码。
static List<List<Strin
我目前正在做一个使用switch语句的jquery脚本,我想知道当几个‘case’共享一些属性时,最好的解决方案是什么,假设我有这样的模式:
switch (settings.xxx) {
case 'case1':
Execute some code
break;
case 'case2':
Execute some code
break;
case 'case3':
Execute some code
break;
}
对于每种情况,我有相当多的代码是部分重复的,因为一些属性对于这三种情况是通用
假设我有一个包含两个可能值的枚举Color:RED和BLUE
public enum Color {
RED,
BLUE
}
现在假设我对这个枚举有一个switch语句,其中我有两个可能值的代码:
Color color = getColor(); // a method which returns a value of enum "Color"
switch (color) {
case RED:
...
break;
case BLUE:
...
break;
default:
break;
}
由于我为枚举的两个可能值都有
我正在做一个项目,我需要在设备类型之间进行切换。我想像在C/C++中那样定义它们。我发现这在C#中是不可能的。我正在编写一些实验代码,以了解它是如何工作的,但我被一件事卡住了。我已经在下面的代码中指出了这一点。请看一下:)。我希望我的代码的想法是清晰的,我应该如何修改它才能使它工作?
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
与许多语言不同,Swift的switch必须是详尽的,所以如果我有:
enum Enumeration
{
case A
case B
}
则此代码无效:
switch enumeration
{
case .A:
break
}
然而,这些规定是有效的:
switch enumeration
{
case .A:
break
case .B:
break
}
switch enumeration
{
case .A:
break
default:
break
}
如果我稍后将case C添加到Enumeration中,那么第一个有效的
在Swift中,我有一个enum和switch-statement,如下所示: enum Job {
case all
case sweep
case clean
case wash
}
let job: Job = .all
switch job {
case .all:
print("should do all the jobs below")
case .sweep:
print("sweep")
case .clean:
print("clean")
case .wash:
如果我有一个这样的枚举:
enum SomeEnum: String {
case case1 = "raw value 1"
case case2 = "raw value 2"
}
如何通过使用大小写名称(case1和case2)而不是原始值,使其符合case1?例如,我可以这样使用它:
let data = Data("\"case1\"".utf8)
let decodedEnum = try! JSONDecoder().decode(SomeEnum.self, from: data) // SomeEnum.
这里有一个:
enum SomeEnum
{
A = 0,
B = 1,
C = 2
}
现在编译器允许我写:
SomeEnum x = SomeEnum.A;
switch(x)
{
case 0: // <--- Considered SomeEnum.A
break;
case SomeEnum.B:
break;
case SomeEnum.C:
break;
default:
break;
}
0被认为是SomeItems.A。但我不会写:
SomeEnum