【问题标题】:Unwrapping a optional in swift which is an optional but swift doesn't know its a optional在 swift 中打开一个可选的,这是一个可选的,但 swift 不知道它是一个可选的
【发布时间】:2015-12-04 21:06:44
【问题描述】:

我正在开发一个应用程序来转换模型油漆颜色。我刚刚让 coreData 工作,现在我遇到了另一个问题。

let colorL: String = String(color.valueForKey("revell"))
    let AmountL: String = String(color.valueForKey("filled"))
    
    print(colorL)
    print(AmountL)
    
    cell.ColorLabel.text = colorL
    cell.AmountLabel.text = AmountL

这是我的表格视图代码。我的控制台输出是这样的

可选(68)
可选(g)

所以问题是,如果您还没有猜到我需要解开一个无法解包的可选项,因为 swift 不知道它是一个可选项,并且我不断收到无法解包的错误非可选的。

【问题讨论】:

    标签: ios swift core-data


    【解决方案1】:

    valueForKey 返回一个可选值(具体来说是AnyObject?)。打开它,然后用它构建一个字符串。

    if let value = color.valueForKey("revell") as? /* Some Type */ {
        let amountL: String = String(value)
        // ...
    }
    

    【讨论】:

      【解决方案2】:
          let colorL: String = (color.valueForKey("revell")?.description)!
          let AmountL: String = (color.valueForKey("filled")?.description)!
      
          print(colorL)
          print(AmountL)
      
          ColorLabel.text = colorL
          AmountLabel.text = AmountL
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-07-23
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-01-14
        • 2021-01-25
        相关资源
        最近更新 更多