addArrangedSubview和UITAbleViewCell =无限循环:/

时间:2016-04-10 17:42:16

标签: swift uitableview nib

我试图通过不同的XIB创建一个单元格。很自然地,我试过了:

    let cell = tableView.dequeueReusableCellWithIdentifier("cellChapter", forIndexPath: indexPath) as! UniversalXIB

    if let subStackTitre = NSBundle.mainBundle().loadNibNamed("titreSection", owner: self, options: nil).first as? TitreXIB {
        cell.stackChapter.addArrangedSubview(subStackTitre)
        subStackTitre.titreOulet.text = "pouet n°\(indexPath.row)"
    }

    if let subStackIcones = NSBundle.mainBundle().loadNibNamed("iconesStack", owner: self, options: nil).first as? IconesXIB {
        cell.stackChapter.addArrangedSubview(subStackIcones)
    }

    if let photoChapterImage = NSBundle.mainBundle().loadNibNamed("photoAvecLegende", owner: self, options: nil).first as? PhotoAvecLegendeXIB {
        cell.stackChapter.addArrangedSubview(photoChapterImage)
    }

然而,每当我滚动时,它会再次添加笔尖,而不是之前的笔尖。我很确定addArrangedSubview在这里很有罪,但我完全不知道另一种方法......诀窍是,我还要添加这个:

    for i in texteArray {
        let titreBool = i["titre"] as! Bool
        let photoBool = i["photo"] as! Bool

    if titreBool == true && photoBool == false {

    if let ChapitreTitre = NSBundle.mainBundle().loadNibNamed("chapitreTitre", owner: self, options: nil).first as? ChapitreTitre {
        cell.stackChapter.addArrangedSubview(ChapitreTitre)

    }

        } else if titreBool == false && photoBool == false {

    if let ChapitreSansTitre = NSBundle.mainBundle().loadNibNamed("chapitreSansTitre", owner: self, options: nil).first as? ChapitreSansTitre {
        cell.stackChapter.addArrangedSubview(ChapitreSansTitre)

    }

        } else if titreBool == true && photoBool == true {

    if let ChapitreTitrePhoto = NSBundle.mainBundle().loadNibNamed("chapitreTitrePhoto", owner: self, options: nil).first as? ChapitreTitrePhoto {
                cell.stackChapter.addArrangedSubview(ChapitreTitrePhoto)

    }

        } else if titreBool == false && photoBool == true {

        if let ChapitreSansTitrePhoto = NSBundle.mainBundle().loadNibNamed("chapitreSansTitrePhoto", owner: self, options: nil).first as? ChapitreSansTitrePhoto {
            cell.stackChapter.addArrangedSubview(ChapitreSansTitrePhoto)

            }
        }
    }

因此,如果我的数组中有5个元素,则必须根据两个bool创建5个元素。如果我有2千个,它将创建2个thousans章节。

关于如何进行的任何想法?或者我做错了什么?

0 个答案:

没有答案