У меня есть пользовательский подкласс UITableViewCell
и связанный с ним xib. У меня есть UILabel
и UIButton
в этой ячейке, и я подключил внутреннее действие кнопки к подклассу.
Мне нужно, чтобы эта кнопка в ячейке была нажата, чтобы получить индексный путь ячейки, у которой есть эта кнопка. И, возможно, отправьте его обратно в контроллер просмотра через делегат или что-то в этом роде.
Так как я внутри подкласса UITableViewCell
, я не могу использовать такое решение, как this, потому что у меня нет ссылки на представление таблицы внутри подкласс класса. После дальнейшего исследования я нашел другое решение, и я внедрил его в Swift вот так.
import UIKit
class ContactCell: UITableViewCell {
@IBOutlet weak var nameLabel: UILabel!
override func awakeFromNib() {
super.awakeFromNib()
// Initialization code
selectionStyle = .None
}
@IBAction func callButtonPressed(sender: UIButton) {
let indexPath = (self.superview as UITableView).indexPathForCell(self)
println("indexPath?.row")
}
}
Но когда я нажимаю на кнопку, она вылетает с сообщением об ошибке: Слишком динамический динамический сбой.
Любая идея, что не так с моим кодом?
Или я открыт для любых других предложений, которые позволили бы мне достичь желаемого результата любым другим способом.
Спасибо.