当前位置: 首页 > 面试题库 >

在Swift中的数组中填充具有多个节和多个字典的TableView

易雅畅
2023-03-14
问题内容

我有3个类别,我一直将其用作一个部分。在那部分中,我必须填充字典数组中的数据。这是我的代码:-

var sections = [Category A, Category B, Category C]
var itemsA = [["Item": "item A","ItemId" : "1"],["Item": "item B","ItemId" : "2"],["Item": "item C","ItemId" : "3"]]
var itemsB = [["Item": "item A","ItemId" : "1"],["Item": "item B","ItemId" : "2"],["Item": "item C","ItemId" : "3"]]
var itemsC = [["Item": "item A","ItemId" : "1"],["Item": "item B","ItemId" : "2"],["Item": "item C","ItemId" : "3"]]

func numberOfSections(in tableView: UITableView) -> Int {
    return self.sections.count
}

func tableView(_ tableView: UITableView, titleForHeaderInSection section: Int) -> String? {
    return self.sections[section]
}

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

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
    let cell = tableView.dequeueReusableCell(withIdentifier: "StoreCell") as! UITableViewCell
    ????
    ????
    return cell
}

我需要将items数组填充到表类别中。如果有人可以回答。谢谢!


问题答案:

如果类别A的itemA数组,类别B的itemB数组等等,那么您可以通过numberOfRowsInSection这种方式返回数组计数。

func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
    switch (section) {
        case 0: 
           return itemsA.count
        case 1: 
           return itemsB.count
        default: 
           return itemsC.count
     }
}

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
    let cell = tableView.dequeueReusableCell(withIdentifier: "StoreCell") as! UITableViewCell
    switch (indexPath.section) {
        case 0: 
           //Access itemsA[indexPath.row]
        case 1: 
           //Access itemsB[indexPath.row]
        default: 
           //Access itemsC[indexPath.row]
     }
     return cell
}

注意: 如果您创建一个结构或自定义类的单个数组,这将减少所有使用单个数组的数组的数量。



 类似资料:
  • 问题内容: 好的,所以我找到了很多有关UITableView和多个节的信息,但是,它们总是包含字符串,数组,静态数据,Obj- C或其他我无法转换为我的情况的信息,主要是因为我完全开发应用程序的新手。非常感谢您的帮助,因为一个多月以来,我一直在尝试各种方法,但均未成功。 所以我有多个具有以下属性的Dog对象: 在ViewController文件中,有以下代码(删除了不相关的行): 我想通过Dog对

  • 问题内容: 只是一个简单的查询,例如在模型中使用双引用。 模式/模型 询问 我已经尝试过类似的东西 实际上,只有人口之一在工作。 那么,如何让两个人口工作呢? 问题答案: 您已经在使用以下正确的语法: 也许订单中的ObjectId不在集合中?

  • 我试图创建一个数组或ArrayList,它包含三个独立的链表。 假设我有一个部门数组(销售、媒体、船员),每个元素都是一个循环链接的名称、标题、id和支付率。 示例: 我希望能够检索到特定链表中的节点,如部门(销售)。下一步,等等。这是我当前的代码: 另外还有两个旁注,我目前可以从最右边插入,但如何才能从最左边插入。另外,如何删除节点?我在网上看到的一切都显示删除一个只有一个值的节点,但我有多个值

  • 问题内容: 我将如何添加多个URL?我不知道如何将其快速设置为数组。 问题答案: 在这种情况下,我认为您应该使用NSURLSession.sharedSession()。dataTaskWithURL从链接中进行多次下载,但要保持下载操作异步。您需要向其添加一个回调块。您应该执行以下操作:

  • 问题内容: 我正在寻找一个数据结构,该结构在两个不同的索引下具有相同的值,在其中我可以通过 任 一 索引访问数据。 例: 有没有预卷的东西,或者什么是我自己卷的最佳方法(我需要通过索引(数字从0到n以1为增量)和字符串进行访问)。 似乎没有通过该位置进行快速随机访问,据我所知,我只能使用迭代器遍历它,直到到达元素为止(我可以按正确的顺序插入)。 问题答案: 用法: