代码之家  ›  专栏  ›  技术社区  ›  Dima Deplov

Swift:“nil,而不是nil的可选值”

  •  0
  • Dima Deplov  · 技术社区  · 10 年前

    我有字典 String 是图像url。当我尝试创建 NSURL 来自此的对象 一串 我搜索了那个问题,但没有找到解决方案。每个人都说“你的变量是零”。但我的变量不能为零,我的代码日志也显示了这一点。

    这是我的代码:

    var article: [String:String!]!
    ...
    //viewDidLoad method
    
    let imageURLString : String = article["image"]!
    
    println(imageURLString) // log: http://domain.com/img/path.jpg
    
    let imgURL : NSURL = NSURL.URLWithString(imageURLString) // error here
    

    我收到“致命错误:打开可选值时意外发现nil”

    问题出在哪里?希望有人能帮忙。

    1 回复  |  直到 10 年前
        1
  •  7
  •   Jesse Rusak    10 年前

    如果URL无效,NSURL的URLWithString可能会失败(因此返回nil)。尝试:

    let imgURL: NSURL? = NSURL.URLWithString(imageURLString) 
    

    然后,您可以在使用imgURL之前测试它是否为空。