我可以在主从应用程序的每个部分中拥有不同数量的行吗?

Posted

技术标签:

【中文标题】我可以在主从应用程序的每个部分中拥有不同数量的行吗?【英文标题】:Can I have a different number of rows in each section of a master-detail app? 【发布时间】:2015-04-06 13:33:34 【问题描述】:

我是 Swift 和 ios 编程的新手,我正在尝试制作一些简单的应用程序。我正在尝试构建一个主从应用程序。

在主视图中,我为表格视图提供了两个部分,并将表格视图的内容设置为“静态单元格”。最初我给每个部分 3 行,并且能够使用 mainviewcontroller 文件中的以下代码成功运行应用程序:

override func numberOfSectionsInTableView(tableView: UITableView) -> Int 
        return 2
    

    override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int 
        return 3
    

我现在希望第一部分有 11 行,第二部分有 5 行,但我尝试对代码进行的更改阻止了应用程序运行。我试过了:

override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int 
    return 16

我试过了:

override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int 
    return 11

但它倒下了。我在这里做错了什么?

【问题讨论】:

使用传递给您的部分编号来决定是返回 11 还是 5。 谢谢。我没有意识到我可以在方法中引用“部分”。 【参考方案1】:

您应该使用section 来决定该部分应该有多少行。例如,您可以在视图控制器中有一个变量:

let numberOfRowsAtSection: [Int] = [11, 5]

现在在numberOfRowsForSection:

override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int 
    var rows: Int = 0

    if section < numberOfRowsAtSection.count 
        rows = numberOfRowsAtSection[section]
    

    return rows

【讨论】:

如何具体引用每个部分中的行?例如,如果我想让第一部分的行说“嗨”,第二部分的行说“你好”,我如何在cellForRowAt IndexPath 中区分它们?它们是否加到总数中(如果有两个部分,一个有 11 行,一个有 5 行……最后一个部分的最后一行算第 15 行吗?)? 这个question的答案有帮助吗? :)

以上是关于我可以在主从应用程序的每个部分中拥有不同数量的行吗?的主要内容,如果未能解决你的问题,请参考以下文章

我可以在我想要的字符串之前或之后 grep 一定数量的行吗? [复制]

可以使用 Google Prediction API 从 bigquery 表中检索相似的行吗?

如何找到计数表在不同的行吗

SQL Server NOLOCK 提示会返回部分写入的行吗?

我可以让 Heroku Logs 只返回概述错误的行吗?

我可以在从 Access DB 填充的组合框顶部添加一个额外的行吗