从文档可以看出 这个方法有可能返回为空
Return Value
The cell object at the corresponding index path or nil if the cell is not visible or indexPath is out of range.
让cell可见解决办法 :(实现选中某个cell的功能)
self.collectionView.reloadData()
let indexPath = NSIndexPath(forItem: 0,inSection: 0)
var cell = collectionView.cellForItemAtIndexPath(indexPath)
if cell == nil {
// self.collectionView.reloadData()
self.collectionView.layoutIfNeeded()
cell = collectionView.cellForItemAtIndexPath(indexPath)
cell!.selected = true
collectionView.selectItemAtIndexPath(indexPath, animated: true, scrollPosition: .Top)
}
http://stackoverflow.com/questions/21469459/cellforitematindexpath-returns-nil-after-force-scrolling-to-make-it-visible/21480786#21480786