请考虑以下代码:
let nsdate: NSDate? = NSDate() if let date = nsdate as? Date { // a warning occurs here print(date) }
编译器这样抱怨:来自’NSDate?’的条件性转发? ‘日期’是一种过渡转换;你的意思是’使用’吗?
从NSData到Data的转换具有相同的问题.怎么解决呢?
尝试强制转换为可选日期:
if let date = nsdate as Date?
您正在尝试将可选NSDate的可选强制转换为NON可选日期.只要NSDate从obj-c桥接到Date,所以这个转换总是成功的,所以这里不需要任何可选的强制转换,只需基本转换就足够了.那么你需要转换可选值,所以结果值也必须是可选的,因此Date?这里是合适的.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。