>source

최근에 여가 시간에 앱을 만드는 방법을 배우려고 노력하고 있습니다. 나는 앱 생성에 대한 자습서와 함께 Apple의 Swift 설명서를 따라왔습니다. "UI를 code에 연결" 튜토리얼을 마친 후 시뮬레이터를 실행했는데 "AppDelegate" 클래스에서 SIGABRT 예외만 받았습니다. 콘솔을 보니 이렇게 되어 있습니다.

캐치되지 않은 예외로 인해 앱 종료 'NSInvalidArgumentException', 이유: '-[FoodTracker.ViewController nameTextField:]: 인식할 수 없는 선택기가 인스턴스로 전송되었습니다. 0x7fb572d0a040'

나는 차이점이 있는지 확인하기 위해 원본 파일을 Apple의 파일로 교체하기도 했습니다(몇 가지 추가 설명을 제외하고는 차이가 없었습니다). 내 ViewController 클래스 파일은 다음과 같습니다.

class ViewController: UIViewController, UITextFieldDelegate {
//MARK: Properties
@IBOutlet weak var nameTextField: UITextField!
@IBOutlet weak var mealNameLabel: UILabel!
override func viewDidLoad() {
    super.viewDidLoad()
    //Handle the text field’s user input through delegate callbacks.
    nameTextField.delegate= self
}
//MARK: UITextFieldDelegate
func textFieldShouldReturn(_ textField: UITextField) -> Bool {
    //Hide the keyboard.
    textField.resignFirstResponder()
    return true
}
func textFieldDidEndEditing(_ textField: UITextField) {
    mealNameLabel.text= textField.text
}
}

StoryBoard에서 yournameTextField 연결을 확인하시겠습니까?

Joe2021-10-03 14:26:37

후행 세미콜론은 스토리보드에서 IBOutlet 대신 IBAction을 설정했는지 궁금합니다. Joe가 언급했듯이 스토리보드를 확인하고 연결에 느낌표가 있는지 확인하십시오.

Anand2021-10-03 14:26:37

느낌표가 보이지 않습니다.

Grilled2021-10-03 14:26:37

내가 다운로드하여 사용해 볼 수 있도록 프로젝트를 어딘가에 업로드하십시오.

Anand2021-10-03 14:26:37

drive.google.com/open?id=0B0lXmLqP87aON0wwckJucWhSbms Google 드라이브에 업로드했습니다. 감사 해요 :)

Grilled2021-10-03 14:26:37
  • 답변 # 1

    내 의견에서 언급했듯이 code 바인딩에 대한 스토리보드가 일관되지 않습니다. 아래 스크린샷은 Xcode가 불평하는 느낌표를 보여줍니다. 삭제하고 다시 추가하십시오.

    내 의견에서 언급했듯이 code 바인딩에 대한 스토리보드가 일관되지 않습니다. 아래 스크린샷은 Xcode가 불평하는 느낌표를 보여줍니다. 삭제하고 다시 추가하십시오.

    이것은 4년 전 이전 답변의 정확한 복사 및 붙여넣기입니다. 현재 귀하의 여러 답변은 검토자가 정리할 혼란을 만들고 있습니다. 계속하면 게시 권한이 취소될 수 있습니다. 답변을 게시하는 것은 환영하고 권장되지만 문제를 해결하기 위한 진지한 시도가 필요합니다.

    Jeremy Caney2021-10-04 03:25:17
  • 답변 # 2

    내 의견에서 언급했듯이 code 바인딩에 대한 스토리보드가 일관되지 않습니다. 아래 스크린샷은 Xcode가 불평하는 느낌표를 보여줍니다. 삭제하고 다시 추가하십시오.

    도움이 되었다면 다른 사람들에게 유용하도록 답변으로 표시하세요.

    Anand2021-10-03 14:26:37
  • 이전 vscode에서 통합 터미널 제목 변경
  • 다음 SQL Server에서 여러 결과를 단일 문자열로 결합