iOS 如何从解析 Swift 中获取值 "Boolean" 4

iOS How to fetch value "Boolean" from parse Swift 4

我构建应用程序,我需要在其中检查用户是否验证了电子邮件。 我获取数据的代码:

  let query:PFQuery = PFQuery(className: "_User");
        query.whereKey("objectId", equalTo: PFUser.current()!.objectId!)
        query.findObjectsInBackground { (object, error) in
            if !(error != nil) {
                let user = PFUser.current()
                let emailVerified = user!["emailVerified"] as! Bool
                print("emailVerified \(emailVerified)")
            }
        }

我有错误:

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

更新:

所以在我的 table 中我有价值 "false"

当控制台中的代码为 运行 时,我收到值 "true"

使用:

if let isVerify = user!["emailVerified"] as? NSNumber {
    let emailVerified = isVerify.boolValue
}

您也可以为通用术语实施以下扩展,

extension Integer {
    var boolValue: Bool { return self != 0 }
}

那就这样使用吧,

let success = user!["emailVerified"].boolValue

更新

你也可以这样做,

let success = (user!["emailVerified"] as NSNumber).boolValue

另一个选项是这样的,

extension Bool {    
    init(_ number: Int) {
        self.init(number as NSNumber)
    }
}

然后像这样得到它,

let success = Bool(user!["emailVerified"] as NSNumber)

试用一下,如有任何疑问,请告诉我。