我现在用这个模式

do {

    if let jsonResult = try NSJSONSerialization.JSONObjectWithData(data!, options: []) as? NSDictionary {

        let valid: Int? = 1
        let status: String? = "ok"

            if let v = jsonResult["valid"] as? Int, s = jsonResult["status"] as? String {
                if v == valid && s == status{
                //Do something
                }
            }
    }

这是检查v==1和s==ok的最佳方法吗
或者是有可能做这样的回答,会更好吗?
Answer(Unwrapping multiple optionals in a single line)
if let v = jsonResult["valid"] as? Int, s = jsonResult["status"] as? String
   where is(v, valid && s, status)

感谢您的帮助。

最佳答案

如果您不需要vsif的主体内部,您可以直接进行比较:

if jsonResult["valid"] as? Int == 1 && jsonResult["status"] as? String == "ok" {
    // Do something
}

关于ios - 解开并检查单行中的多个可选项,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38919330/

10-10 06:33