我正在使用解析进行登录/注册过程。
一切都很好。直到用户提供错误的详细信息。
在Parse Login的其他部分我写过:
self.view.userInteractionEnabled = YES;
[SVProgressHUD dismiss];
// The login failed. Check error to see why.
NSString *message = [NSString stringWithFormat:@"%@",[error valueForKey:@"Error"]];
UIAlertView *myalert = [[UIAlertView alloc]initWithTitle:@"SO" message:message delegate:self cancelButtonTitle:@"Cancel" otherButtonTitles: nil];
[myalert show];
我在每一行都设置了断点后进行了检查。
执行第3行后,即NSSString *message
控件没有进入警报状态,它会直接向我显示没有任何警告框的UI。
在日志中我得到了
[Error]: invalid login parameters (Code: 101, Version: 1.7.5)
我不知道该怎么办?我在其他部分只写了这段代码。
我使用的是Parse Code:
[user signUpInBackgroundWithBlock:^(BOOL succeeded, NSError *error)
{
if (!error)
{
// Hooray! Let them use the app now.
}
else
{
NSString *errorString = [error userInfo][@"error"]; // Show the errorString somewhere and let the user try again.
}
}];
和In else部分我想显示和alertView
答案 0 :(得分:1)
试试这个:
UIAlertView *myalert = [[UIAlertView alloc]initWithTitle:@"SO" message:message delegate:self cancelButtonTitle:@"Cancel" otherButtonTitles: nil];
dispatch_async(dispatch_get_main_queue(), ^(void){
[myalert show];
});
答案 1 :(得分:0)
试试此代码
NSString *errorString;
UIAlertView *AV;
[user signUpInBackgroundWithBlock:^(BOOL succeeded, NSError *error) {
if (!error) { // Hooray! Let them use the app now.
} else { errorString = [error userInfo][@"error"]; // Show the errorString somewhere and let the user try again.
AV = [[UIAlertView alloc]initWithTitle:@"SO" message:errorString delegate:nil cancelButtonTitle:@"Cancel" otherButtonTitles:nil, nil];
[AV show];
}
}];
答案 2 :(得分:-1)
首先尝试调用主线程,然后在其中创建UIAlert
当你不在主线程中时,大多数情况都会发生
希望这能解决你的好问题