【发布时间】:2017-09-06 19:45:55
【问题描述】:
我想从字典中的字符串创建URL,但是当我初始化它时,保护语句转到else 语句,因为values["Image"] 是nil 和return 函数。这是我的一段代码
guard let imageURLInDatabase = URL(string: values["Image"]!) else { return }
let data = NSData(contentsOf: imageURLInDatabase)
我在我的代码中创建了几个断点:
这是我在这个断点处的控制台日志:
我错过了什么?
附言 我试着这样做:
let imageURLInDatabase = URL(string: values["Image"]!)
但我收到错误消息unexpectedly found nil while unwrapping an optional value
编辑 1: 我试着这样做
guard let imageString = values["Image"] else{return}
guard let imageURLInDatabase = URL(string: imageString) else{
return}
let data = NSData(contentsOf: imageURLInDatabase)
所以values["Image"] 不能为零
编辑 2:
some : "https://firebasestorage.googleapis.com/v0/b/blackjack-ef580.appspot.com/o/profiles_images%2FdwMGR8sKMvYauf6uQDtyop18cwy1.jpg?alt=media&token=5df48794-d3fd-4e5c-a72c-9928a8a43c4e\""
【问题讨论】:
-
如果你使用 Swift,你应该使用 Data,而不是 NSData。
-
有什么不同吗?
-
Data是 Swift 类。NSData是 Objective-C 类。 -
但是使用 NSDate 是不是大错特错?
-
@NerdyTherapist 正确。如果这是真的,那就是问题所在。
标签: ios swift dictionary optional