gpt4 book ai didi

ios - 如何让 shouldPerformSegueWithIdentifier 等到 block 完成

转载 作者:行者123 更新时间:2023-12-01 18:58:03 26 4
gpt4 key购买 nike

我创建了一个推送序列并将标识符命名为“CustomIdentifier”之类的名称。用户注册成功后, shouldPerformSegueWithIdentifier 执行并推送到另一个 View Controller 。如何让推送 Action 等到用户注册 block 返回成功后再执行推送 Action ?我现在正在做的事情如下所示,但无论注册是否成功,都会执行推送。对此有什么更好的解决方案?顺便说一句,我知道我可以创建一个 IBAction,但我使用的是 RBStoryboardLink,所以它必须是一个 push segue。并且 IBAction 不适用于 RBStoryboardLink。

- (BOOL)shouldPerformSegueWithIdentifier:(NSString *)identifier sender:(id)sender
{
__block BOOL should;
if ([identifier isEqualToString:@"Question"]) {
AVUser *newUser = [AVUser user];
newUser.username = self.usernameField.text;
newUser.password = self.passwordField.text;
newUser.email = self.emailField.text;

[newUser signUpInBackgroundWithBlock:^(BOOL succeeded, NSError *error) {
if (succeeded) {
should = YES;
} else {
should = NO;
}
}];
}
return should;
}

最佳答案

使用 performSegueWithIdentifier在你想要执行segue的地方。这样,您只会在实际需要时才调用 segue。

[self performSegueWithIdentifier:@"yourSegue" sender:nil];
prepareForSegue方法将在调用此方法后立即调用。在 prepareForSegue您可以在执行 segue 之前编写要执行的代码。
诸如设置变量值或传输其他数据等。

希望这可以帮助。

关于ios - 如何让 shouldPerformSegueWithIdentifier 等到 block 完成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25183659/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com