ios - AlertController 内文本字段的文本仅在 iOS 11.0+ 中生成崩溃

标签 ios swift ios11 swift2

我有以下代码,适用于 iOS 8.0+ 到 iOS 10.3,但在 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: terminating with uncaught exception of type NSException

有关 endDate 的代码 NSDate 扩展内部

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

输出

"27-10-2017"

最佳答案

您使用哪种UIAlertController样式?添加文本字段仅适用于 .alert,不适用于 .actionSheet

关于ios - AlertController 内文本字段的文本仅在 iOS 11.0+ 中生成崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47008896/

相关文章:

uitextview - Xcode 9 UITextView链接不再可单击

ios - Swift Firebase 电子邮件验证总是返回 false

IOS FACEBOOK SDK,从FB注销并在之后登录

ios - UISearchController 不要将 viewcontroller 推到前面而是在 UISearchController 下面

swift - NotificationCenter 将 swift 3 迁移到 swift 4.2 的问题

Swift:以编程方式连接和断开wifi

iphone - IOS在TabBar前添加登录界面

ios - 弹回上一个 ViewController 无法在警报错误消息上工作

algorithm - 检查一个点是否在一个简单的多边形内

get - 传递正确的 URL 时,IOS 中的 alamofire 出现无效的 URL 错误