2016-09-07 6 views
0

처음 강의에 문제가 있다고 생각하지 않습니다! 우리는 계산기를 만들고 있습니다 (이 시점에서는 계산기로서 기능하지 않습니다). Mine은 performOperation 함수가 추가 될 때까지 제대로 작동했습니다. 이제 "이 클래스는 키 값을 준수하지 않는 코드"오류가 발생합니다. 문제는, 내가 볼 수있는 한 내 코드는 클래스에서 사용중인 코드를 정확히 복제한다는 것입니다. 나는 뭔가를 놓치고 있어야하지만 차이를 찾기 위해 대략 50 번 체크했는데 하나를 찾을 수 없다. 도움? 그것은 매번 충돌하고 있습니다.cs193p 스위프트 키 값 코딩 오류

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) 
     } 
    } 
} 

} 

편집 : 코드 형식

+0

나는 당신이 인터페이스 빌더를 사용하여 만든 계산기의 스크린 샷을 포함 할 경우 도움이 될 것이라고 생각합니다. 귀하의 코드는 나에게 잘 보인다. 또한 언제이 오류가 발생합니까? 버튼을 누른 후에? – Suhaib

+0

여기에 게시 할 때주의하십시오. 제목을 편집하여 질문의 성격을 정확하게 설명하십시오. 스택 오버플로는 자유 토론 그룹보다는 프로그래밍 질문 위키 백과를 더 많이 의미합니다. –

+0

코드에서 @IBOutlet을 삭제하거나 이름을 바꾸면 오류가 발생합니다. 스토리 보드에서 ViewController를 클릭 한 다음 Xcode의 오른쪽 패널에있는 Connections Inspector에서 연결을 확인하십시오. 연결되지 않은 콘센트에는! 그 옆에. 그 옆에있는 x를 클릭하여 연결을 삭제하고 다시 연결하십시오. – vacawama

답변

1

당신이 바로 그 도구 모음의 모듈 텍스트 필드에, 스토리 보드에서의 ViewController를 확인할 수 있습니다. 모듈 텍스트 필드 이 비어있는 경우

가 다음 단계를 수행합니다 (아무 자리도 없다) : 무작위 지우기

  • 단계 3. Enter 키를 누르

    • 1 단계 초점 모듈 텍스트 필드
    • 2 단계 편집, 결과가이 그림과 같으면 모든 것이 잘 돌아갑니다.

    enter image description here

  • +0

    감사합니다. 불행히도 이미 문제가 아니기 때문에 계산기에 제대로 연결되어 있습니다. –

    +0

    속성을 연결 했음에도 불구하고이 문제가 발생했습니다. xcode의 버그로 인한 것 같아요. –