2016-12-07 4 views
-2

У меня есть две UIButtons, я хочу, чтобы одна кнопка нажата, чтобы отключить другую кнопку.Отключение UIButton вызывает ошибку

Я пробовал код с разных плакатов, но не смог получить один UIButton для отключения другого UIButton.

Я могу установитьTitleColor и отключить использование Sender, но это не сработает для другой кнопки.

Вот неполный код инструкции IF/Else, но этого должно быть достаточно для опытного кодировщика.

Этот код успешно работает, но генерирует исключение в последней строке, отображаемой при запуске. Fatal Error: неожиданно обнаружено nil при развертывании необязательного значения. Тема 1:. EXC_BAD_INSTRUCTION (код = EXC_I386_I ...

import UIKit 
import CoreData 

class ViewController: UIViewController { 
@IBOutlet weak var buttonAdd: UIButton! 
@IBOutlet weak var buttonEdit: UIButton! 

@IBAction func buttonAdd(_ sender: AnyObject) 
{ 
    if (sender.currentTitle == "Add") 
    { 

     sender.setTitle("Save", for:UIControlState.normal) 
     sender.setTitleColor(UIColor.red, for:UIControlState.normal) 

     buttonEdit.isEnabled = false FAILS ON THIS LINE 
+1

Ваш раскадровки не имеет выхода к 'buttonEdit'. – matt

+0

ИТАК, как я добавлю выход к раскадровке? Пожалуйста, укажите код. – ot1

+3

Не используется код. Пожалуйста, не говорите мне, как отвечать. – matt

ответ

0

Как правило, это происходит, когда на выходе из раскадровку к коду перепутались Перейти к раскадровке, щелкните правой кнопкой мыши на желтый символ ViewController и вы увидите предупреждение. Вы должны удалить запись с предупреждением, нажав на «х» и воссоздать новую форму на выходе раскадровки к коду.

enter image description here

+0

В режиме просмотра контроллера ... rt. При нажатии на желтый контроллер просмотра открывается окно «Вид контроллера», и обе мои кнопки, кнопка «Add» и «buttonEdit» отображаются в разделе «Outlets». На любой кнопке нет желтого предупреждения, поэтому нет X, чтобы щелкнуть. – ot1

+0

Я понял, из окна View Controller перетащите синюю линию на соответствующую кнопку на раскадровке. Thx nitinsh99 – ot1

+0

Поскольку я не установил выход из раскадровки, потому что я не знал, как, я вручную установил код выхода, который вы видите в классе View Controller. Но, очевидно, отсутствующий код нужен где-то еще. – ot1

Смежные вопросы