2015-11-26 3 views
-1

Я хочу запретить пользователю в моем приложении использовать Parse Framework, но он не работает.iOS Parse запретить пользователю

У меня есть колонка в моей базе данных пользователей, чтобы запретить пользователям. Я устанавливаю переменную вручную (на parse.com, а не в моем приложении).

enter image description here

проверить это значение в AppDelegate:

// Check if user is connected 
    let currentUser = PFUser.currentUser() 

    if currentUser != nil { 
     // if user is connected, check if he is ban 

     let isBan = currentUser!.objectForKey("isBan") as! Bool 
     print("Is user ban ? : \(isBan)") 
     if isBan == true { 
      PFUser.logOutInBackground() 
     } 

проблема! Я установил переменную «isBan» в TRUE, но выход печати показывает, что переменная по-прежнему FALSE ... Что мне не хватает? благодаря

EDIT: решаемые

я должен обновить пользователя перед проверкой булево isBan:

currentUser!.fetchInBackgroundWithBlock // refresh the user asynchronously 
+0

попробуйте использовать '. boolForKey ("isBan") 'this вернет bool вместо любого объекта objec т. – milo526

+0

нет участника .boolForKey – user3722523

ответ

0

Попробуйте с valueForObject

if let currentUser = PFUser.currentUser() { 
    // if user is connected, check if he is ban 
    let isBan = currentUser.valueForKey("isBan") as! Bool //supposed isBan allways exist in user table 
    print("Is user ban ? : \(isBan)") 
    if isBan { 
     PFUser.logOutInBackground() 
    } 
} 
+0

не работает. – user3722523

+0

Вы уверены, что вы являетесь CurrentUser с истинным значением isBan в таблице? Я вижу 2 строки. Проверьте, что имя пользователя для печати – disepulv

+0

проверено, да, я - текущий пользователь с истинным запретом. только 2 пользователя в моей таблице – user3722523

Смежные вопросы