Я использую Parse в качестве мобильного заднего конца моего приложения. Я добавил 2 булевских столбца в таблицу данных пользователя (User class), «тренер» и «клуб», в основном заявив, что они тренер или клуб. Во время входа в систему необходимо выполнить команды if, основанные на логическом значении этих переменных. Мой код в настоящее время выглядит следующим образом:Parse.com текущий пользователь, если statment
[PFUser logInWithUsernameInBackground:_usernameField.text password:_passwordField.text
block:^(PFUser *user, NSError *error) {
if (user) {
if(user.coach = @YES){
[[NSUserDefaults standardUserDefaults] setInteger:1 forKey:@"coach"]; //sets yes for coach value
}
if(user.club = @YES){
[[NSUserDefaults standardUserDefaults] setInteger:1 forKey:@"club"]; //sets yes for club
}
UIStoryboard *sb = [UIStoryboard storyboardWithName:@"AthleteLoggedIn" bundle:nil];
UISplitViewController *new = [sb instantiateInitialViewController];
self.view.window.rootViewController = new;
} else {
NSString *errorString = [error userInfo][@"error"];
UIAlertView *alert = [[UIAlertView alloc]initWithTitle:@"Oops" message:errorString delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil, nil];
[alert show];
}
}];
'если (user.coach = @YES)' должны be 'if (user.coach == @YES)'. то же самое для 'user.club'. в вашем заявлении вы назначили '@ YES' переменной и затем оценили значение переменной (что, конечно,' @ YES') – MByD
Чтобы избежать этого в следующий раз, вы должны привыкнуть ставить константу с левой стороны сравнения, если (@YES == user.coach). if (@YES = user.couch) вызовет ошибку синтаксиса. – ardrian