Итак, у меня есть куча кнопок на моей странице, и их отсортировать по массиву типа [UIButton] и вызвать buttonsArray.метод для вызова отправителя для UIButton
Когда вы нажимаете одну из этих кнопок, у меня есть действие, связанное с функцией goToFacts, которая идет вместе с моим segue «goToFactSegue» и передает информацию о кнопке WHICH (отправитель) для моей подготовки к функции segue. Моя функция prepareforSegue подтверждает правильность идентификатора segue, а затем устанавливает индекс переменной в правый номер на странице DetailViewController. То, как я вычисляю правильное число, чтобы установить индекс (называемый whoIndex), сопоставим, какой индекс (нажатие кнопки) находится в кнопкеArray. моя проблема заключается в нахождении названия/имени кнопки, которая была нажата (отправитель), и установки имени theButtonsName, чтобы я мог найти его в моих кнопкахArray и найти его индекс.
TL; DR как вы тянете имя по UIButton, как вы бы использовать .view на UIImageView
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
if segue.identifier == "goToFactSegue" {
// send info to next page
if let whereToGo = segue.destinationViewController as? DetailViewController {
let theButtonsName = sender!.******** as! UIButton
if let whichIndex = find(buttonsArray, theButtonsName) {
whereToGo.index = whichIndex
}}
}
}
@IBAction func goToFacts(sender: UIButton) {
performSegueWithIdentifier("goToFactSegue", sender: sender)
}
Я искал через все Xcode возможностей предлагает и ничего не взаимодействует с UIButton, читайте на doc и все, о чем они говорят, это .titleLabel, который является этим фактическим текстом (И нет, .titleLabel не работает) Также попробовали обычных подозреваемых (варианты названий ... и т. д.)
Вы не должны пытаться бросить theButtonsName отправителя! .titleLabel! .text как UIButton но струны. Если на кнопке есть кнопка titleLabel, которая должна присутствовать с ее значением. –