将(UITableView numberOfRowsinSection开关)更改为更小,更好的代码?

时间:2015-04-13 18:51:31

标签: ios uitableview swift switch-statement

我在TableView中填充人员列表,按字母顺序划分。使用Switch case完成了这项工作,但我试图找出一些东西" loopier"或者更细微的代码,但没有成功。

有没有办法解决这个问题:

func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
    // return the number of rows for index letters
    // example: for A there are 2 contacts Alex and Andrea
    // so rows in section for A are 2

    switch (determineKeyList()[section]) {
        case "A": return determineValueCountForKey("A")
        case "B": return determineValueCountForKey("B")
        case "C": return determineValueCountForKey("C")
        case "D": return determineValueCountForKey("D")
        case "E": return determineValueCountForKey("E")
        // every alphabet letter follows..
        default: return 0
    }
}

为数据库中的每个案例提供更好的东西。再加上如果我的名单中没有人,比如名字以" H"?默认返回0?或者我需要额外的检查才能跳过这封信?

谢谢!

1 个答案:

答案 0 :(得分:0)

以下喜欢的东西应该有效:

if (section > 5) { // E is the 5th letter 
    return 0;
}
return determineValueCountForKey(determineKeyList()[section]);

您可以检查返回的字母是否大于'H',而不是当前的if条件。