저도 확신은 할 수 없지만 저라면 첫번째로 확인해볼 것은 indexPosition의 숫자가 확실히 제대로 맞는지 확인해 볼 것 같고요, 두 번째로는 피커뷰의 데이터소스를 selectRow 보다 먼저 지정하고, reloadComponenets 해본 후에 selectRow 해볼 것 같고요, 마지막으로는 reloadComponents와 selectRow 메서드를 present 메서드의 completion 핸들러 안에서 시도해볼 것 같습니다. 그것 외에는 딱히 문제될 것이 있는지 모르겠네요.
근데 근본적인 질문으로는 Date Picker를 사용하지 않고 일반 피커를 사용하는 이유가 궁금하네요. 얼럿 크기에 맞추기 위함인가요?