2017-01-02 2 views
-1

Мой код сбой со следующей ошибкой в ​​строке, которая получает ячейку по пути указателя, и у меня возникли проблемы с ее отладкой.Ошибка EXC_BAD_INSTRUCTION при вызове cellForItemAtIndexPath()

Тема: EXC_BAD_INSTRUCTION (код = EXC_1386_INVOP, субкодовое = 0x0)

var cell = CollectionViewCell() 

for row in 0...self.collectionNetList.count { 
    let indexpath = NSIndexPath.init(forRow: row, inSection: 0) 

    self.cell = collectionView?.cellForItemAtIndexPath(indexpath) as! CollectionViewCell 

    // ↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑ CRASHES HERE ↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑ 

    cell.dlImage.image=UIImage(named: "ted") //Modify the custom pictures on the cell 
} 

Однако в этом методе та же команда работает, как ожидалось.

func collectionView(collectionView: UICollectionView, didSelectItemAtIndexPath indexPath: NSIndexPath) { 
    self.cell = collectionView.cellForItemAtIndexPath(indexPath)! as! CollectionViewCell 
} 
+0

Там не кажется, вопрос там, кроме того, форматирование, кажется, настолько бедны, что не ясно, что вы пытаетесь спросить. – Robba

+0

Подружился ли Вы с IBOutlet из cell.dlImage? И, пожалуйста, правильно сформулируйте свой вопрос ... Как это не понятно на 100% –

+0

cell.dlImage В пользовательской ячейке – user7357445

ответ

0

CollectionViewCell не зарегистрирован. Вам необходимо вызвать метод registerNib UICollectionView для регистрации пользовательской ячейки в режиме viewDidLoad или viewWillAppear.

+0

переопределения FUNC viewWillAppear (анимированное: Bool) { self.collectionView .registerNib? (UINib (nibName: "CollectionViewCell", расслоение: ноль), forCellWithReuseIdentifier: "CollectionViewCell") } Нет или свернут self.cell = CollectionView? .cellForItemAtIndexPath (indexpath) как! CollectionViewCell – user7357445

-1
if let cell = collectionView.cellForItemAtIndexPath(indexPath) { 
    let aCell = cell as! CollectionViewCell 
    aCell.dlImage.image=UIImage(named: "ted") 
} 

Такое право

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