我正在检索一个我知道在解析时为nil的值,在表中检查并使用print语句,并且仍然被if语句忽略。为什么会这样?
class func checkLicense(){
var compQuery = PFQuery(className:"User")
var userDefaults = NSUserDefaults.standardUserDefaults()
var secretKey = userDefaults.stringForKey("secretkey")
var team = userDefaults.stringForKey("teamID")
var scout = userDefaults.stringForKey("scoutID")
var password = userDefaults.stringForKey("password")
compQuery.whereKey("teamID", equalTo:"1")
compQuery.whereKey("scoutID", equalTo:"1")
compQuery.whereKey("password", equalTo:"1234")
compQuery.findObjectsInBackgroundWithBlock {
(users: [AnyObject]!, error: NSError!) -> Void in
if error == nil && users.count >= 1{
let date = NSDate()
let calendar = NSCalendar.currentCalendar()
let components = calendar.components(.CalendarUnitHour | .CalendarUnitMinute | .DayCalendarUnit | .CalendarUnitMonth | .CalendarUnitYear, fromDate: date)
let expiraton = date.dateByAddingTimeInterval(10800)
let expirecomponents = calendar.components(.CalendarUnitHour | .CalendarUnitMinute | .DayCalendarUnit | .CalendarUnitMonth | .CalendarUnitYear, fromDate: expiraton)
let hour = components.hour
let minutes = components.minute
let month = components.month
let year = components.year
let day = components.day
let exhour = expirecomponents.hour
let exminutes = expirecomponents.minute
let exmonth = expirecomponents.month
let exyear = expirecomponents.year
let exday = expirecomponents.day
var query = PFQuery(className:"User")
for user in users{
if user["secretkey"] == nil {
query.getObjectInBackgroundWithId(user.objectId) {
(newData: PFObject!, error: NSError!) -> Void in
if error != nil {
NSLog("%@", error)
} else {
newData["secretkey"] = "\(secretKey!)"
newData["keyDate"] = "\(month)/\(day)/\(year) \(hour):\(minutes)"
newData["keyExpireDate"] = "\(exmonth)/\(exday)/\(exyear) \(exhour):\(exminutes)"
newData.save()
println("License Agent Completed License Data Refresh")
}
}
}
}
}
}
}
问题是由行
引起的if user["secretkey"] == nil {