如果多个为真的语句

时间:2017-07-18 20:14:19

标签: swift uitableview if-statement cell

当存在多个真正的

时,我使用if语句遇到问题

cell1 =所有评论

单元格2 =所有用户

第一个单元格显示属于帖子的评论(如fb)

我有一个文本字段,当写入@时,我在第二个单元格内开始搜索。 (建议用户在编写@符号时在Instagram中链接)

现在当点击第二个单元格时,usersSuggestion(显示的人)返回0.(removeAll())(在加载名称以texinput开头的所有用户之前)

我想在usersSuggestion为0时显示cell1。(当单击一个单元格时,我删除所有建议的用户并且计数返回到0)

但是当我链接用户时,我需要在名称前面加上@符号才能转到他们的个人资料。 (比如Instagram)

func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {


    if (commentTextField.text?.contains("@"))! {
        return usersSuggestion.count
    }

    if usersSuggestion.count == 0{
        return comments.count
    }
    if usersSuggestion.count == 1{
        return comments.count
    } else {
        return comments.count
    }
}

如果单击一个单元格,您可以使用此文本字段,例如

"哇哇很棒的一天@ Luca"

现在有多个陈述是真的

该文本包含一个@符号(这是链接用户所必需的),并且usersSuggestion.count在所有suggestUsers被删除后返回到0。

但是只要文本包含@,就不会执行任何其他操作。

只有当我删除@符号时,才会再次显示cell1。

我该如何解决这个问题? 或者我如何才能使if语句更重要或更高优先级呢?

1 个答案:

答案 0 :(得分:-3)

不要在if语句中使用多个return语句,而是尝试类似这样的

var temp = 0;     
if (commentTextField.text?.contains("@"))! {
    temp = usersSuggestion.count
}

if usersSuggestion.count == 0{
    temp = comments.count
}
if usersSuggestion.count == 1{
    temp = comments.count
} else {
    temp = comments.count
}
return temp

您可以根据需要调整流量,以获得您正在寻找的结果。