2016-09-07 2 views
0

Не могу поверить, что у меня проблема с самой первой лекцией! Мы строим калькулятор (на данный момент он не функционирует как калькулятор). Шахта работала отлично, пока не была добавлена ​​функция выполнения. Теперь я получаю сообщение об ошибке «Этот класс не соответствует требованиям, зависящим от значения ключа». Дело в том, что, насколько я вижу, мой код ТОЧНО реплицирует код, который он использует в классе. Я должен что-то упустить, но я проверил примерно 50 раз, чтобы найти разницу, и я не могу ее найти. Помогите? Он рушится каждый раз.cs193p Swift - ошибка кодирования значения ключа

import UIKit 

class ViewController: UIViewController { 

@IBOutlet weak var display: UILabel! 

var userIsInTheMiddleOfTyping = false 

@IBAction func touchDigit(sender: UIButton) { 
    let digit = sender.currentTitle! 

    if userIsInTheMiddleOfTyping { 
     let textCurrentlyInDisplay = display.text! 
     display.text = textCurrentlyInDisplay + digit 
    } else { 
     display.text = digit 
    } 

    userIsInTheMiddleOfTyping = true 
} 


@IBAction func performOperation(sender: UIButton) { 
    userIsInTheMiddleOfTyping = false 
    if let mathematicalSymbol = sender.currentTitle { 
     if mathematicalSymbol == "π" { 
      display.text = String(M_PI) 
     } 
    } 
} 

} 

EDIT: Формат кода

+0

Я думаю, что было бы полезно, если вы можете включить скриншот вашего калькулятора, который был создан с помощью Interface Builder. Ваш код выглядит хорошо для меня. Кроме того, когда вы получаете эту ошибку? После нажатия кнопки? – Suhaib

+0

Пожалуйста, будьте внимательны при размещении здесь. Измените свой заголовок, чтобы точно описать характер вашего вопроса. Переполнение стека должно быть скорее Википедией вопросов программирования, чем беспроблемной дискуссионной группой. –

+0

Ошибка, которую вы получаете, происходит, если вы переименовываете или удаляете @IBOutlet в своем коде. Нажмите на ViewController в раскадровке, а затем проверьте свои подключения в Инспекторе соединений на правой панели Xcode. У не подключенной розетки будет! Рядом с ним. Удалите это соединение, нажав на x рядом с ним и попробуйте снова подключить его. – vacawama

ответ

1

Вы можете проверить ViewController в раскадровке, в TextField модуль в правой панели.

Выполните следующие действия, если модуль TextField пуст (нет заполнителем):

  • Шаг 1. Сосредоточьтесь модуль TextField
  • Шаг 2. Отредактируйте случайным образом, то ясно
  • Шаг 3. Нажмите клавишу Enter, если результат такой же, как и на этом рисунке, все идет okey.

enter image description here

+0

Спасибо! К сожалению, он уже был правильно подключен к калькулятору, так что это не проблема. –

+0

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