После выполнения запроса из синтаксического разбора в разделе IF и хранится в StaffID. Я получил то, что хочу.Переменная становится нулевой после условия if-else
Но после, если/еще п переменная StaffID становится Nil
Вот код
func StaffIdQuery(DeviceToken: String) -> String
{
var StaffID = ""
let StaffIdQuery = PFQuery(className: "Staff")
StaffIdQuery.whereKey("StaffDeviceToken", equalTo: DeviceToken)
StaffIdQuery.getFirstObjectInBackgroundWithBlock {
(objects:PFObject?, error: NSError?) -> Void in
if error == nil && objects != nil {
StaffID = objects?.valueForKey("StaffID") as! String
print(StaffID) //This seems fine
}
else {
// Log details of the failure
print("Error: \(error!) \(error!.userInfo)")
}
}
print(StaffID) //this becomes nil
return StaffID
}
Что я должен исправить, чтобы получить данные запроса?
Является ли ваша функция 'getFirstObjectInBackgroundWithBlock' async? –
Ваш 'StaffIdQuery.getFirstObjectInBackgroundWithBlock' - это асинхронный вызов, который выполняет« позже », затем ваш' print (StaffID) ' – Breek