2017-10-30 2 views
0

私iOSの11.0以上で、次のiOSの10.3へのiOS 8.0以降で動作するコード、しかし、クラッシュを持って、私は理解することができませんなぜテキストフィールドのテキストは、唯一のiOS 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には常に文字列出力があります。

クラッシュ出力:

の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です。

関連する問題