2017-10-30 15 views
0

난 아이폰 OS 11.0 이상에서 다음 아이폰 OS 10.3에 아이폰 OS 8.0 이상에서 작동 코드, 그러나 충돌이, 내가 이해 할 수없는 나는 왜텍스트 필드의 텍스트는 아이폰 OS 11.0 이상에서 충돌이 발생

코드 :

alertcontrol.addTextFieldWithConfigurationHandler({ (textField) -> Void in 

        textField.font = UIFont.systemFontOfSize(14) 
        textField.placeholder = "Type Date as dd-mm-yyyy" 
        let endate = endDate.formatedDate("dd-MM-yyyy") 
        textField.text = endate 
        textField.textAlignment = .Left 

       }) 

이 코드는 iOS 11.0 이상에서는 textField.text에서 충돌을 생성하지만이 동일한 코드는 iOS 8.0 이상에서 iOS 10.3으로 작동합니다. 여기에도 endate에는 항상 String 출력이 있습니다.

충돌 출력 :

의 libC++ abi.dylib :

func formatedDate(format:String)-> String 
{ 
    let formatter = NSDateFormatter() 
    formatter.dateFormat = format 
    return formatter.stringFromDate(self) 
} 

있는 NSDate 확장 내부 endDate가 에 코드 타입 NSException

의 캐치되지 제외 종료 출력

"27-10-2017"

+0

로그에 예외가 발생합니까? 경고 컨트롤러 preferredStyle 속성이 'alert'로 설정되어 있는지 확인하십시오. – Rishabh

+0

'let endate = endDate.formatedDate ("dd-MM-yyyy")'에 대한 내용은 무엇입니까? 날짜 형식이 유효하지 않을 때 충돌이 발생할 수 있습니다. 예외 중단 점 넣기 –

+0

이것을 얻는 방법 :'let endate = endDate.formatedDate ("dd-MM-yyyy")'? – Mannopson

답변

0

어떤 종류의 UIAlertController 스타일을 사용하고 있습니까? 텍스트 필드를 추가하면 이 아니라 .alert으로 만 작동합니다.