gpt4 book ai didi

ios - 如何使用选项制作 switch 语句?

转载 作者:搜寻专家 更新时间:2023-11-01 07:21:53 25 4
gpt4 key购买 nike

我正在处理文本字段和 json 数据。我想测试 json 数据是否为 ​​!= nil,如果是,则我用该信息填充它的字段,如果它是 == nil,则我在其字段中放置一个占位符。像这样:

   if memberInfo?.createDate != nil {

self.activeSinceTextField.text = stringToDateToString((memberInfo?.createDate)!)

} else {
placeHolder("Enter Here".localized())
self.activeSinceTextField.attributedPlaceholder = placeHolderText
}

if memberInfo?.birthDate != nil

{self.birthdayTextField.text = stringToDateToString((memberInfo?.birthDate)!)

} else

{ placeHolder("Enter Here".localized())
self.birthdayTextField.attributedPlaceholder = placeHolderText
}

我有很多字段,我认为 switch 语句会使它更清晰。我只是不确定如何为这种情况制作一个。

最佳答案

版本 1

这就是您使用 switch 定义 4 个结果的方式

switch (memberInfo?.createDate, memberInfo?.birthDate) {
case (.Some, .Some): break
case (.Some, nil): break
case (nil, .Some): break
case (nil, nil): break
}

现在只需将 break(s) 替换为您要为每个场景执行的代码。

版本 2

这里你有 createDate 和/或 birthDate 在可用时展开

switch (memberInfo?.createDate, memberInfo?.birthDate) {
case (let .Some(createDate), let .Some(birthDate)):
print(createDate, birthDate)
case (let .Some(createDate), .None):
print(createDate)
case (.None, let .Some(birthDate)):
print(birthDate)
case (.None, .None):
print("Both are nils")
}

图例

  • .Some:表示这里有东西
  • .None:表示这是 nil
  • _: 意思是快乐,意思是我不在乎这里有什么

关于ios - 如何使用选项制作 switch 语句?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38469279/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com