我有这行代码:
if ((self.datasource?.contains((self.textField?.text)!)) != nil) {
if let _ = self.placeHolderWhileSelecting {
// some code
}
是否有更清晰的方法来检查元素是否包含在数组中?我有包含函数返回的Bool,我不想检查这个Bool是否为零
编辑:解决方案是将数组更改为非可选类型。
答案 0 :(得分:1)
您可以使用if let where
构造。如果self.datasource
或self.textField
为nil
if let
list = self.datasource,
elm = self.textField?.text,
_ = self.placeHolderWhileSelecting
where list.contains(elm) {
// your code
}
答案 1 :(得分:0)
另一种可能的解决方案,使用可选链接到self.textField.text并假设数据源仍然是可选的。
if let unwrappedArray = self.datasource, let unwrappedString = self.textField?.text {
if unwrappedArray.contains(unwrappedString) {
// Some code
}
}