ios - Swift:动态填充 numberOfSectionsInTableView 和 numberOfRowsInSection

标签 ios swift uitableview cocoa-touch

我正在尝试在 Swift 中实现一个 iOS TableView ,它执行以下操作:

  • 通过计算当前存储在我的 Core Data 实体中的对象数量生成多个部分
  • 为每个部分创建一行,每一行代表/保存我的核心数据实体中的一个对象

请原谅零碎的代码,它需要整理。

这是我设置节数的函数。它只是返回获取的结果数并将其作为我的部分数提供。太好了。

    override func numberOfSectionsInTableView(tableView: UITableView) -> Int {
    let count = self.fetchedResultsController.fetchedObjects?.count
    if (count != 0){
    return count!        }
    else {
    return 0
    }
}

但是我不知道如何调整项目文件中包含的基本 numberOfRowsInSection 方法。对于超出 0 范围的数组,它会在 NSRangeException 上跳闸。我猜这是 [section] 数组。

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

    let sectionInfo = self.fetchedResultsController.sections![section]
        return sectionInfo.numberOfObjects

}

简单地返回 1,对于我想要的每个部分的一行,这是行不通的,落在上面的相同错误上。

能不能请一些编码员给我指明正确的方向。

谢谢!

编辑:每当我返回任何大于 1 的 numberOfSectionsInTableView 时,这里就会发生错误。

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

   let sectionInfo = self.fetchedResultsController.sections![section]
   return sectionInfo.numberOfObjects

}

最佳答案

override func numberOfSectionsInTableView(tableView: UITableView) -> Int {
    return self.fetchedResultsController.sections!.count
}

此处返回的是节数,而不是行数。

关于ios - Swift:动态填充 numberOfSectionsInTableView 和 numberOfRowsInSection,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33349707/

相关文章:

ios - 如何编写简单的单元测试来测试 JSON 的解析?

ios - 从 iOS 中 UITableView 中的单元格中分离

iphone - 如何在表格中间初始化 UITableView

ios - UITableView 在 tableView 标题中使用 SearchController 滚动到顶部

swift - 我如何在 swift 3 的 nsuserdefaults 中存储选定的 tableview 行

ios - UITableViewCell 在滚动时显示错误的数据

ios - 添加行后如何更新 UITableView?

ios - WKWebView显示内容时,会呈白色约1~2秒

ios - 如何使用 Swift 选择图像的一部分、裁剪并保存?

ios - 以编程方式生成的按钮不执行操作