CACollectionViewCell* CACollectionView::dequeueReusableCellWithIdentifier(const char* reuseIdentifier) { CACollectionViewCell* cell = NULL; if (reuseIdentifier && !m_mpFreedCollectionCells[reuseIdentifier].empty()) { cell = m_mpFreedCollectionCells[reuseIdentifier].back(); cell->retain()->autorelease(); m_mpFreedCollectionCells[reuseIdentifier].popBack(); } return cell; }