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"
ログに例外の理由がありますか?あなたのアラートコントローラのpreferredStyleプロパティが 'alert'に設定されているかどうかも確認してください – Rishabh
'let endate = endDate.formatedDate(" dd-MM-yyyy ")'の行は何ですか?日付形式が無効な場合、例外ブレークポイントを設定する –
これを取得するには、次のようにします: 'let endate = endDate.formatedDate(" dd-MM-yyyy ")'? – Mannopson