我正在处理文本字段和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语句可以使它更清洁。我只是不确定如何为这种情况制作一个。
答案 0 :(得分:2)
这是使用switch
switch (memberInfo?.createDate, memberInfo?.birthDate) {
case (.Some, .Some): break
case (.Some, nil): break
case (nil, .Some): break
case (nil, nil): break
}
现在只需将break(s)
替换为您要为每个方案执行的代码。
在这里,您可以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 _
:意思是快乐,这意味着我不在乎这里有什么