2017-11-22 10 views
0

UI의 버튼을 누른 후 Xcode의 텍스트 상자에 API (이미 설치 및 설정)에서 데이터 세트를 가져 오려고합니다. 나는 텍스트 상자에 @IBOutlet를 연결 한텍스트 상자에 API 데이터 표시

@IBOutlet weak var dataView: UITextView? 
    @IBAction func getDataPressed(_ sender: Any) { 
    APIManager.sharedInstance.getPostWithId(postId: 1, onSuccess: { json in 
     DispatchQueue.main.async { 
      self.dataView?.text = String(describing: json) 
     } 
    }, onFailure: { error in 
     let alert = UIAlertController(title: "Error", message: error.localizedDescription, preferredStyle: .alert) 
     alert.addAction(UIAlertAction(title: "Dismiss", style: .default, handler: nil)) 
     self.show(alert, sender: nil) 
    }) 
} 

및 버튼에 @IBAction : 아래

내가 사용하고 코드입니다. 불행히도 나는 버튼을 누를 때마다 오류 메시지 (및 거대한 충돌)가 표시됩니다.

많은 코드가 자습서를 통해 작성되었지만 자습서에서는 버튼을 눌렀을 때 'getDataPressed()'함수를 수행하는 방법을 잘 설명하지 않았습니다.

감각이 없으면 사과하는 편이 낫습니다.하지만 누구에게도 도움이 될 수 있습니까?

+0

충돌 보고서를 공유 할 수 있습니까? –

+0

실제로 응용 프로그램을 중단시키지 않습니다 (즉, 터미널에 오류 메시지가 나타나지 않고 시뮬레이터가 작동을 멈추지 않습니다). 시뮬레이터의 앱이 정지되고 앱의 상단에 '오류'가 표시되면 시뮬레이터 화면 중간에 검은 색 화면이 나타납니다. –

답변

0

질문에 오류 메시지를 포함해야하지만 버튼을 눌렀을 때 충돌이 발생하면 단추가 존재하지 않는 선택기가 트리거 될 수 있습니다. 인터페이스 빌더의 버튼을 마우스 오른쪽 버튼으로 클릭하고 X를 탭하여 내부 선택기 내부의 여분의 터치를 삭제합니다.

+0

하나만 '터치 업 내부'선택기가 있습니다. 버튼을 함수에 다시 연결했는데 이제는 '스레드 1 : 중단 점 2.1'오류가 발생합니다. –