首页 > 解决方案 > 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()
                                          })}
       }

标签: swift

解决方案


像这样修改你的for循环

for item in gifsa {
   guard let url = URL(string : item) else {continue}
   //Rest of the code here
}

如果您不确定这些值,请尽量不要强制展开。:)


推荐阅读