Я попытался реализовать политику кэширования с помощью 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 Сотрудник Хранитель [73678: 5099293] [Ошибка]: Не удалось выполнить команду в конечном итоге с ошибкой: Ошибка Домен = Код анализа = 209 «Недействительный токен сеанса» UserInfo = 0x7fe150712ef0 {code = 209, originalError = Error Domain = NSURLErrorDomain Code = -1011 "Операция не может быть выполнена. (Ошибка NSURLErrorDomain -1011.) ", Временный = 0, ошибка = недопустимый токен сеанса, NSLocalizedDescription = недействительный токен сеанса} 2015-07-16 14: 54: 01.172 Сотрудник-хранитель [73678: 5098808] *** Завершение приложения из-за неперехваченного исключения ' NSInternalInconsistencyException ", причина: 'Метод не разрешен, когда включено Pinning.'
LibC++ abi.dylib: оканчивающиеся неперехваченного исключением типа NSException
Что я делаю неправильно?