2017-10-15 5 views
0

UIPickerView 및 그 메서드 pickerView(_:titleForRow:forComponent:)을 사용하여 행을 채 웁니다. 모든 것이 잘 작동하고 UI를 통해 행을 볼 수 있습니다. 방법을 여러 번 호출하는 방법을 궁금하네요 - 예를 들어 하나의 구성 요소와 3 행이 있고 내가 8 호출 (실행) 찾을 인쇄 명령을 통해 메서드 호출을 추적합니다.UIPickerView pickerView (_ : titleForRow : forComponent :) 메서드

각 행에 대해 특정 작업을 한 번만하고 싶습니다. 내가 잘못한 것을 암시하고 어떻게하면 좋을까요? 감사합니다. .

답변

0

pickerView(_:titleForRow:forComponent:)은 주어진 구성 요소의 주어진 행에 제목을 사용해야 할 때 선택기보기에 의해 호출됩니다. 따라서 제목이 필요할 때마다 위임 함수가 호출됩니다. 그리고 당신이 눈치 챘을지도 모르는 것에 따라,이 방법은 여러 번 호출 될 수 있습니다. 이것은 정상입니다. 당신에

:

func pickerView(_ pickerView: UIPickerView, titleForRow row: Int, forComponent component: Int) -> String? { 

당신은 row, 당신은 당신이 전에 값을 설정 한 경우 확인하기 위해 사전을 만들 수 있습니다. 다음과 같은 것 :

+0

감사합니다. 나는 비슷한 방법을 사용했지만 방법 자체는 아닙니다. 그러나 제안을 시도해도 좋습니다. – Dawy

+0

@ 도비, 네가 잘된거야? –

2

데이터에 부울 플래그를 추가하여 통화를 할 것인지 결정할 수 있습니다.