Swift在Optional()中获取值

时间:2015-04-01 00:40:36

标签: ios xcode swift

当我从我正在访问的API中获取值时,当我打印数据时,它显示为

Optional((
  jknjknjkn
))
例如,

。我在返回数据时使用选择器来运行方法

func result(data: AnyObject){
   println(data["info"])
}

打印的是上面的可选项。如何在没有包装它的Optional()的情况下获取值?

如果我只是打印数据,这是原始数据

<AppUser: 0x78ec5650, objectId: I6nxFSZx9h, localId: (null)> {
AppID =     (
    jknkjnjknkn
);
info =     (
    jknjknjkn
);
}

2 个答案:

答案 0 :(得分:1)

在Swift中,可选项是一个可以保存值或nil(根本没有值)的变量。要从中获取值,您必须使用感叹号展开

func result(data: AnyObject){
   println(data["info"]!)
}

请注意,如果data["info"]nil,您的应用会因此错误消息而崩溃:

fatal error: unexpectedly found nil while unwrapping Optional value

如果您担心表达式可能会产生nil,您可以使用可选绑定

func result(data: AnyObject){
   if let info = data["info"] {    //info is now the unwrapped version of `data["info"]
        println(info)              //will only be executed if data["info"] is not nil
    }
}

答案 1 :(得分:0)

忽略这一点,我试图在一个快速的项目中使用Parse,他们的文档有多种方式来显示代码。我只是复制了一个不同的代码块,现在我能够做我需要做的事情。