I found that UICollectionView is like an upgraded version of UITableView introduced in iOS6, but when should I choose UICollectionView
Both are depends on the requirements. Table Views also have support for a variety of editing scenarios. This support has not been implemented in the Collection View classes. If you are converting from a Table View that relies on these methods, expect to do a little extra heavy lifting in the Collection View. Collection View section headers can be placed anywhere within the view. and UITableView don't need to set buttons with tags or other things by getting selected items values.