swift - URL 错误:在展开可选值时意外发现 nil:文件
问题描述
我正在使用 WinguGallery 吊舱。我想查看我使用wingugallerry 从MSSQL 获取的链接中的照片。我可以成功提取数据。但是“让asset = ImageAsset(url:url!)我在“我成功地从数据库中检索数据”行中得到“数据1:致命错误:在展开可选值时意外发现nil”。但可能在 url 部分定义变量时。我取的数据是字符串变量。
import UIKit
import WinguGallery
class GelisimController: UIViewController {
func fillWithGifs() {
let client = SQLClient.sharedInstance()!
client.connect("ddd", username: "ddd", password: "ddd", database: "ddd") { success in
client.execute("SELECT ddd FROM ddd", completion: { (_ results: ([Any]?)) in
var gifsa: [String] = []
for table in results as! [[[String:AnyObject]]] {
for row in table {
for (_, value) in row {
if let intVal = value as? String {
gifsa.append(String(intVal))
var returnArray: [ImageAsset?] = [ImageAsset]()
for item in gifsa {
let url = URL(string: item)
let asset = ImageAsset(url: url!) //error line
returnArray.append(asset)
}
self.winguGalleryView.assets = returnArray
print("returnArray", gifsa)
}} }}
client.disconnect()
})}
}
解决方案
像这样修改你的for循环
for item in gifsa {
guard let url = URL(string : item) else {continue}
//Rest of the code here
}
如果您不确定这些值,请尽量不要强制展开。:)
推荐阅读
- java - Spring 如何实现和测试 CSRF 安全性
- python - 如何将列中的某些值移动到同一行的不同列
- python - 将项目从 QTreeWidget 移动到 QListWidget
- python - $push 追加到 MongoDB 文档
- visual-studio-code - vs 代码在 ';' 后向左移动 2 个空格 默认情况下(制表符 = 2 个空格)
- spring-boot - 当我上传临时文件时,它们什么时候被删除?
- php - 给定键具有多个值的“字典”
- bash - 查找和删除文件名中包含 $ 的文件的命令
- python - 在 pycharm 中运行 python 可以,但不能从终端运行
- list - 在Netlogo中,如何从一个列表中随机选择一个元素,让这个元素加一,然后创建一个新的列表?