URL 错误:在展开可选值时意外发现 nil:文件

Posted

技术标签:

【中文标题】URL 错误:在展开可选值时意外发现 nil:文件【英文标题】:URL Error : Unexpectedly found nil while unwrapping an Optional value: file 【发布时间】:2019-12-03 08:03:20 【问题描述】:

我正在使用 WinguGallery 吊舱。我想查看我使用wingugallerry 从MSSQL 获取的链接中的照片。我可以成功提取数据。但是“让asset = ImageAsset (url: url!) 我在“我已成功从数据库中检索数据。但可能在定义 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()
                                          )
       

【问题讨论】:

看起来item 是无效的URL,所以URL(string: item) 没有创建。检查item 中的内容。 当我打印该项目时,它表明数据已正确分配。 @Asperi 【参考方案1】:

像这样修改你的 for 循环

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

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

【讨论】:

以上是关于URL 错误:在展开可选值时意外发现 nil:文件的主要内容,如果未能解决你的问题,请参考以下文章

致命错误:在展开可选值时意外发现 nil - 带有 NSURLRequest 的 Swift

致命错误:在展开可选值时意外发现 nil - 为啥?

Swift 错误致命错误:在展开可选值时意外发现 nil

Alamofire 平面错误:在展开可选值时意外发现 nil

为啥我收到错误:致命错误:在展开可选值时意外发现 nil?

@IBInspectable 致命错误:在展开可选值时意外发现 nil