2016-03-16 3 views
-1

Я хочу добавить ячейку в UICollectionCell во время выполнения. Каков наилучший способ, который не повлиял на выступления?Как динамически добавить ячейку в UICollectionView

И это мой образец класса клеток:

class PersonViewCell: UICollectionViewCell { 
    @IBOutlet weak var coverImg: UIImageView! 
    @IBOutlet weak var nameLbl: UILabel! 
    @IBOutlet weak var titleLbl: UILabel! 

    var p: Person!  

    func configureCell(p: Person) { 
     self.titleLbl = p.title 
     nameLbl.text = p.name 
     coverImg.image = UIImage(named: "image-not-available")  
    } 

} 
+1

Пожалуйста, включите в свой вопрос только соответствующий код, его будет легче читать. –

ответ

2

Сделать новую переменную экземпляра в классе, чтобы сохранить массив и сохранить результаты в формате JSON к нему. Затем используйте это, чтобы вернуть число ячеек в numberOfItemsInSection и нарисовать ячейки в cellForItemAtIndexPath. Если вы хотите обновить после этого, просто позвоните collection.reloadData()

Также, предполагая, что вы делаете сетевой запрос на фоновый поток, не забудьте позвонить по телефону collection.reloadData().

+2

правильно, за исключением того, что массив не должен быть глобальным (код будет легче выполнять, если это переменная экземпляра в классе, который является 'UICollectionViewDataSource'). –

+0

@ MichałCiuba Спасибо, я обновил свой ответ. – Ollie

+0

@ Ollie U означает make var в классе ViewController? – Vahid

Смежные вопросы