2015-01-20 11 views
0

Когда я создаю приложение, ошибка указывает на код ниже и говорит 'bounds' недоступен. Ранее код работал, но теперь он вызывает сбои сборки.Swift Bounds недоступен

let pointInTable: CGPoint = sender.convertPoint(sender.bounds.origin, toView: self.collectionView) 

let cellIndexPath = self.collectionView?.indexPathForItemAtPoint(pointInTable) 
println(cellIndexPath) 
+1

Как определяется 'sender'? – Antonio

+0

Отправитель - это UIButton в ячейке просмотра коллекции. –

ответ

0

senderявляется UIButton, может быть, но Свифт не знает что. Он знает только то, что вы говорите. Вы должны сказать это, так что Свифт знает, что это вещь, которая имеет свойство bounds. Самый простой способ бросить:

let button = sender as UIButton 
let pointInTable: CGPoint = button.convertPoint(button.bounds.origin, toView: self.collectionView) 

Кроме того, вы уверены, что self.collectionView не является Необязательно? В некоторых версиях Xcode/Swift это необходимо, и вам придется разворачивать его (self.collectionView!).