繁体   English   中英

通过TableView将XML数组数据传递到CollectionView

[英]Passing XML Array Data to CollectionView via TableView

我试图将数据数组从视图控制器传递到集合视图单元格。 我的collectionview当前在一个tableview中。 我尝试使用委托/协议并在类中创建数组,但无法成功将数据传递给我的collectionview。

我的代码如下:

视图控制器:

var ageUnder10: [MissingPerson] = []
var age10Plus: [MissingPerson] = []
var age15Plus: [MissingPerson] = []

if let ageRange = ageRange {
        switch ageRange {
        case .ageUnder10:
            let ageUnder10Array = MissingPerson()
            ageUnder10Array.title = self.missingPerson.title
            ageUnder10Array.desc = self.missingPerson.desc
            ageUnder10Array.url = self.missingPerson.url
            self.ageUnder10.append(ageUnder10Array)
        case .age10Plus:
            let age10PlusArray = MissingPerson()
            age10PlusArray.title = self.missingPerson.title
            age10PlusArray.desc = self.missingPerson.desc
            age10PlusArray.url = self.missingPerson.url
            self.age10Plus.append(age10PlusArray)
        case .age15Plus:
            let age15PlusArray = MissingPerson()
            age15PlusArray.title = self.missingPerson.title
            age15PlusArray.desc = self.missingPerson.desc
            age15PlusArray.url = self.missingPerson.url
            self.age15Plus.append(age15PlusArray)
        }
    } else {
        print("No valid age found")
    }

表格视图单元格:

 class TableViewCell: UITableViewCell {
    var ageUnder10 = [MissingPerson]()
    var age10Plus = [MissingPerson]()
    var age15Plus = [MissingPerson]()
}
  • 这些值是从XML网址填充的
  • 通过扫描仪创建类别,扫描xml中项目的值(以创建ageRange)
  • 我有从视图控制器类中的单独数组填充的titleforheader和header名称

我想通了,我需要使用一个结构来传递数据。 另外,在tableview类中创建数组的实例,并编写一个函数来填充collectionView单元。

例:

CustomTableViewCell:

customArray: [CustomArray]()

func configureCollectionCell(with array: [CustomArray]) {
self.customArray = customArray
}

ViewController类别:

 var customArray = [CustomArray]()

    func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
   if let cell = tableView.dequeueReusableCell(withIdentifier: "customCell", for: indexPath) as? CustomTableViewCell {
    cell.configureCollectionCell(with: customArray)
    return cell
    }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM