i have passed data from didselect method of collectionView like this
func collectionView(_ collectionView: UICollectionView, didSelectItemAt index
prepareForSegue is changed in swift 3.0 so you need to write like this
override func prepare(for segue: UIStoryboardSegue, sender: Any?){
}
In addition to above answer you should expect a lot of changes of method names like: prepareForSegue to prepare or String.substringFromIndex to String.substring. The obvious method name endings are ommited/moved to the label of 1'st argument.