【发布时间】:2015-10-05 11:51:18
【问题描述】:
我尝试使用 Parse 实现缓存策略。这是我从 Parse 查询数据的地方,也是我使用缓存策略的地方:
func findEmployeeForLoggedInUser(completion: (array: [AnyObject], error: String?) -> Void) {
if PFUser.currentUser() != nil {
let query = PFQuery(className: "Employee")
query.cachePolicy = PFCachePolicy.CacheElseNetwork //CACHE POLICY
query.whereKey("employerId", equalTo: PFUser.currentUser()!.objectId!)
query.findObjectsInBackgroundWithBlock { (results, error) -> Void in
var employeeArray = [PFEmployee]()
if let error = error {
let errorString = error.userInfo?["error"] as? String
completion(array: employeeArray, error: errorString)
} else {
for employee in results! {
let currentEmployee: PFEmployee = employee as! PFEmployee
employeeArray.append(currentEmployee)
}
completion(array: employeeArray, error: nil)
}
}
}
}
另外,每次用户登录或注册时,我都使用这行代码:PFQuery.clearAllCachedResults() 来清除所有缓存的结果。
当我尝试运行应用程序时,它崩溃了,这是调试区域中的错误消息:
2015-07-16 14:53:38.644 Employee Keeper[73678:5099293] [错误]:最终无法运行命令并出现错误:错误域 = 解析代码 = 209“无效会话令牌”用户信息 = 0x7fe150712ef0 {代码 = 209, originalError=Error Domain=NSURLErrorDomain Code=-1011 "操作无法完成。(NSURLErrorDomain error -1011.)",temporary=0, error=invalid session token, NSLocalizedDescription=invalid session token} 2015-07-16 14:54:01.172 Employee Keeper[73678:5098808] *** 由于未捕获的异常“NSInternalInconsistencyException”而终止应用程序,原因:“启用固定时不允许使用方法。”
libc++abi.dylib:以 NSException 类型的未捕获异常终止
我做错了什么?
【问题讨论】:
标签: ios swift caching parse-platform